BLOG ブログ
Power Automate Desktop でアクション「新しいMicrosoft Edgeを起動する」や「新しいChromeを起動する」を実行したときに、ちゃんとブラウザが起動しているのにアクションがエラーになってしまう場合があります。
筆者が気づいた原因と、実際に試した対処法を紹介します。
Power Automate Desktopとは
Power Automate Desktopは、Microsoft社が提供するノーコード/ローコード プラットフォームであるPower Automateに含まれる機能の1つで、ざっくり表現すると、パソコン上で行う操作を人間に代わって自動化するツールです。ロボティック プロセス オートメーション(RPA)とも呼ばれます。
キャッチフレーズは「何でも簡単にデスクトップから自動化する」です。
2021年3月に、無料提供が開始されました。
:Power Automate Desktop(Microsoft社)
:デスクトップフローの概要(Microsoft社)
ブラウザの起動がエラーになる原因
Microsoftサポートページによると、2つの原因が想定されるようです。
:エラー “Microsoft Edge/Chrome/Firefox の制御を想定できなかった”
【要約】
- ケース1:Edge/Chrome/Firefox Web 拡張機能が正しくインストールされていないか、有効になっていません
- ケース2:ブラウザーの起動には、アクションの既定のタイムアウト (30 秒) よりも時間がかかります
筆者の場合、他のアクションは動作していたのでケース1は該当せず、ケース2に該当したようです。
ケース2のMicrosoft公式対処法
公式対処法では、要約すると次の方法が紹介されていました。
- 1. ブラウザ起動アクションは、エラー時でもフロー実行を継続する
- 2. 次のアクションで、実行中のインスタンスに接続する
- 3. 実行中のインスタンス接続時、アクションが失敗した場合の再試行オプションを設定する
対処方法をアレンジした
Microsoft公式対処法では、アクションが失敗した場合の再試行オプションは試行回数が有限なので、連続して失敗し続けると結局は異常終了してしまいます。この点が不満でした。
そこで、やり方を少し変えてみました。
(1) 起動したブラウザのプロセスを終了するために、サブフローを1つ作成しました(下図を参照)
(2) アクション「新しいMicrosoft Edgeを起動する」のエラー発生時オプションに、新しいルールを設定しました(下図を参照)
上の例ではプロセス名を指定してプロセスを終了させるため、ブラウザのプロセスが複数存在している場合でもすべて終了してしまいます。
したがって、プロセス単位に制御したい場合はプロセスIDを指定するとよいでしょう。
執筆:H
関連記事
これまでの記事
- GoogleスプレッドシートTIPS (2)
- Power Automate Desktop お試し (2)
- RedmineとBIツールの連携 (3)
- ニュースリリース (60)
- ブログ (61)
- 雑記 (3)