Last updated on 2022年8月9日
RPAで自動化する際に、画像があるかどうかで判断し処理を行いたいと考えたことはありませんか。
UiPathは基本構造認識で判断が可能ですが、アプリケーション・サイトの構造によってはそれが不可能であり画像で判断を行わなければならないケースもあるかと思います。
この記事では、UiPathで画像の有無で判断を行う処理について紹介します。
利用するアクティビティは、【画像の存在を確認】です。このアクティビティから画像の有・無についてのBoolean型の返答を得ることができます。
本記事では、UiPath Ver 2021.10.4 を使用しています。
使用するアクティビティ
利用するアクティビティは、 [画像の存在を確認]アクティビティになります。
このアクティビティは、画面上にあらかじめ設定した画像があるか判断し、ある場合はTrue、ない場合はFalseを出力結果として返します。
- ある場合 → True
- ない場合 → False
ということは、Falseが返ってくる間(画像がない間)は何かしらの処理を繰り返し、Trueになったら(画像が出現したら)後続の処理に移るという仕組みを実装することで画像をベースとした処理をつくることができます。
実装方法
実装方法として次のような方法があります。
- 対象となる画像を【画像の存在を確認】アクティビティに設定
- 画像がみつかったか・見つからないかの検知用の変数を設定
- 【フロー条件分岐】アクティビティの条件に上記の変数を設定
- 条件がFalseの矢印をループさせる形でつなげる
このように設定すると、一致する画像がない、つまり値がFalseで返って来ている場合は、ずっと判断のループが行われるようになります。
次の画像のサンプルでは、一致する画像が出るまで下スクロールを行い、一致する画像が見つかったらクリックを行います。
動画で解説
おまけ:画像が複数ある場合の処理
画像が複数ある場合今回のように【画像の存在を確認】アクティビティの利用で処理が実装可能な場合とそうでない場合があります。
この理由は、【画像の存在を確認】アクティビティが特定の画像を指定した上でそれの存在確認しかできないため、同様の画像を数えるような処理は別の【一致する画像を探す】アクティビティを利用する必要があります。
とはいえ、画像がすべて異なっておりそれぞれが単一であるという条件のもとであれば【画像の有無を確認】アクティビティのみで処理は実装可能です。
下記の図は、画像が2種類あり下記のパターンで処理を分ける場合の実装になります。
参考にしてみてください。
- 【画像1】が表示されている場合
- 【画像2】が表示されている場合
- 【画像1】【画像2】ともに表示されていない場合
【追記】2021/4/9
アクティビティ名が【画像の存在の確認】と変更になっていたので一部修正をしました。
以前は[ 画像の有無を確認]アクティビティという名称でした。(備忘録)
最後に
今回は画像の有無で判断を行う際の利用するアクティビティ・その事例について記事にしてみました。是非今後の自動化で活用してみてください。
今回も最後までお読みいただきありがとうございました。
では。
コメントありがとうございます。ほんと個人のメモ書きですがお役に立てたようで良かったです。
UiPath は製品群も機能も増えてしまったので覚えるのも一苦労ですよね。
最近はもっぱら趣味ブログと化していますが時々技術メモも上げたいと思いますのでまたいらしてください。
ある画像で条件分岐をするのに困っていたところ、このページを見つけました。ドンピシャな内容で本当に助かりました。本当にありがとうございます。感謝!
更新ありがとうございます。
こちらの内容で対応できそうですので試してみます。
丁寧な対応ありがとうございました。
結果の方また連絡したいと思います。
詳細についてご説明いただきありがとうございます。
とりいそぎ参考程度ですが、記事の方をアップデートしておきましたのでご参考ください。
気が回らずいただいた順序と整合が取れておりませんので、処理の順序については読み替えていただければと思います。
ご連絡ありがとうございます。やりたい事ですが、
条件によって次の3パターン存在します。
①どの画像も表示されない
②画像1が表示される
③画像2が表示される
(画像1と2は違う画像になります。)
どのパターンになっても処理が実行されるようにしたいです。
宜しくお願い致します。
ご質問ありがとうございます。
>もう一つ画像が存在する場合はどのように条件分岐したらいいでしょうか?
同じ画像が複数あり、それら(例えば3つ)すべてが表示されている場合に処理をし、それ以外は処理を実施ないというような処理をお考えいただいているということでよろしかったでしょうか。
ここの投稿で説明をしている【画像の有無を確認】アクティビティは、「画像が存在する」か「しないか」の2択で判断をするため画像をカウントすることはできません。
そのため、同一画像の数を確認したい場合は、【一致する画像を探す】アクティビティを利用する必要があります。
もう少し詳細をいただければよりよいご回答ができるかもしれません。
突然すいません、質問させて下さい。
こちらの画像の有り無しで条件を分ける方法ですが、もう一つ画像が存在する場合はどのように条件分岐したらいいでしょうか?宜しくお願いいたします。