Last updated on 2020年12月31日
特定の画像が表示されたら処理を実行するようなワークフローを開発死体ができるかなにゃ
それができるんです!
RPAで自動化する際に、画像があるかどうかで判断し処理を行いたいと考えたことはありませんか。
UiPathは基本構造認識で判断が可能ですが、アプリケーション・サイトの構造によってはそれが不可能であり画像で判断を行わなければならないケースも有るかと思います。
今回はそんな画像ベースでの自動化「特定の画像が出るまで待機する」「特定の画像が見つかるまで繰り返し処理をする」をUiPathで実装した場合どうなるの解説したいと思います。
使用するアクティビティ
利用するアクティビティは【画像の有無を確認(Image Exists)】のみになります。
検索欄に"画像"と入力すればヒット数と思います。
このアクティビティは、画å面上にあらかじめ設定した画像があるか判断し、ある場合はTrue、ない場合はFalseとBoolean値を結果として返します。
つまり、Falseが返ってくる間は何かしらの処理を繰り返し、Trueになったら後続の処理に移るという仕組みを実装することで画像をベースとした待機・繰り返し処理が可能となります。
利用方法
利用方法として下記のような方法があります。
- 対象となる画像を【画像の有無を判断】アクティビティに設定
- 画像がみつかったか・見つからないかの検知用の変数を設定
- 【フロー条件分岐】アクティビティの条件に上記の変数を設定
- 条件がFalseの矢印をループさせる形でつなげる
上記のように設定すると、一致する画像がない、つまり値がFalseで返って来ている場合は、ずっと判断のループが行わせるようになります。
実際の例としては次の画像のようになります。
この処理では、一致する画像が出るまで下スクロールを行い、一致する画像が見つかったらクリックを行います。
振り返り
今回は画像の有無で判断を行う際の利用するアクティビティ・その事例について記事にしてみました。
利用するアクティビティは、【画像の有無を確認(Image Exists)】です。
このアクティビティを利用することで有・無について、Boolean型の返答を得ることができます。
すこしプログラミングチックな処理で、「RPA簡単だ」と想定していた方は困惑されたかと思います。
もし、ここが分からない等あればコメントへお願いします。
(また、UiPathで「これどうやるの???」というご質問も歓迎です)
今回も最後までお読みいただきありがとうございました。
では。
【補足】画像が複数ある場合の処理について
画像が複数ある場合今回のように【画像の有無を確認】アクティビティの利用で処理が実装可能な場合とそうでない場合があります。
この理由は、【画像の有無を確認】アクティビティが特定の画像を指定した上でそれの存在確認しかできないため、同様の画像を数えるような処理は別の【一致する画像を探す】アクティビティを利用する必要があります。
(こちらはもし需要があるようであれば別記事として投稿したいと思います)
とはいえ、画像がすべて異なっておりそれぞれが単一であるという条件のもとであれば【画像の有無を確認】アクティビティのみで処理は実装可能です。
下記の図は、画像が2種類あり下記のパターンで処理を分ける場合の実装になります。
参考にしてみてください。
- 【画像1】が表示されている場合
- 【画像2】が表示されている場合
- 【画像1】【画像2】ともに表示されていない場合
参考
UiPathアカデミー
実践あるのみという方、すでにある程度利用経験がある方はRPAベンダーであるUiPath社が提供している無料Eラーニングである UiPathアカデミー をオススメします。
2020年度にリニューアルされ更に体系的に整理されています。
UiPathは個人で利用する分には無料なので利用してみてください。
※書籍もあるようですがツールのアップデートが早いためおすすめしません
更新ありがとうございます。
こちらの内容で対応できそうですので試してみます。
丁寧な対応ありがとうございました。
結果の方また連絡したいと思います。
詳細についてご説明いただきありがとうございます。
とりいそぎ参考程度ですが、記事の方をアップデートしておきましたのでご参考ください。
気が回らずいただいた順序と整合が取れておりませんので、処理の順序については読み替えていただければと思います。
ご連絡ありがとうございます。やりたい事ですが、
条件によって次の3パターン存在します。
①どの画像も表示されない
②画像1が表示される
③画像2が表示される
(画像1と2は違う画像になります。)
どのパターンになっても処理が実行されるようにしたいです。
宜しくお願い致します。
ご質問ありがとうございます。
>もう一つ画像が存在する場合はどのように条件分岐したらいいでしょうか?
同じ画像が複数あり、それら(例えば3つ)すべてが表示されている場合に処理をし、それ以外は処理を実施ないというような処理をお考えいただいているということでよろしかったでしょうか。
ここの投稿で説明をしている【画像の有無を確認】アクティビティは、「画像が存在する」か「しないか」の2択で判断をするため画像をカウントすることはできません。
そのため、同一画像の数を確認したい場合は、【一致する画像を探す】アクティビティを利用する必要があります。
もう少し詳細をいただければよりよいご回答ができるかもしれません。
突然すいません、質問させて下さい。
こちらの画像の有り無しで条件を分ける方法ですが、もう一つ画像が存在する場合はどのように条件分岐したらいいでしょうか?宜しくお願いいたします。