自動化ツールである「Power Automate Desktop(以下、PAD)」を使って繰り返しの業務(もしくは操作)を楽にしようととしてフローを作る際に、Webページの操作でいつもぶつかる問題があると思います。その問題について解決できる方法の中で1つを紹介したいと思います。
初めに
PADで何かしらの要素にアクションをかけたい場合にはまず、要素を特定する必要があります。これにはマウス一回のクリックで対象UIが選択できるような仕組みがあるのですごく便利ですね。そのため、リンクをクリックしたりテキストボックスに文字を入力するなど、フローを作るのが簡単にできますが、そこで想定外のエラーが起こってしまうことが少なくはないです(少なくとも私にはそうでした)。ちゃんとUI要素を選択もしたし、セレクターのメニューまで開いて詳細を確認しても問題ないように見えたので原因探しに時間をかけたりした覚えがあります。
ちなみに、PADでのUI要素選択に関しては以下になります。
マウスのポインターでUI要素を当てると、領域のサイズによって赤い枠で表示されます。ここでCtrl + 右クリックで選択完了!これで簡単に特定ができると思いますが、、
今回ではQuiitaのメインページをEdgeブラウザを開き、「公式コラム」のテキストを取得してメッセージボックスに表示する簡単なフローを作る中で起こる問題を解決するシナリオで進めていきたいと思います。
エラー発生
Qiitaメインページを開き、取得するテキストを確認し、この要素をUI要素選択メニューからピックアップします
解決方法
UI要素のセレクターをパッと見た感じ、特に問題はないように見えますが、設定にミスがあるはずなので、修正してみようと思います。
よく見たら、
フローを作成する際、UI要素選択で設定された条件にあるDivのidと、ブラウザで確認できるHTMLソースに定義されているDivのidが異なっていることがわかります。このidが動的に変わるので固定値ではUI要素指定条件に合わなくなりますね
- New2GlobalHeader-react-component-688cb473-f6e3-4901-b588-d0dc6c2b68f8
+ New2GlobalHeader-react-component-dee17d3c-0f05-43eb-be2b-622ba1337ba4
ですので、Divのid条件を外しておきます。
他の条件にも動的なidやclassなどが入っているかチェックしましょう。
(場合によってはこれが他の要素との競合とかが発生する可能性がゼロではないため、確認する必要があります)
その後、再度のテストで確認したところ、無事にフローが最後まで動いてくれました!
終わりに
簡単なフローから一度は詰まってしまうポイントについて書いていました。
もし、似たような問題で困っている方に少しでも役に立ったらいいなと思います。
以上!