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
アクティビティ名が【画像の存在の確認】と変更になっていたので一部修正をしました。
以前は[ 画像の有無を確認]アクティビティという名称でした。(備忘録)
最後に
今回は画像の有無で判断を行う際の利用するアクティビティ・その事例について記事にしてみました。是非今後の自動化で活用してみてください。
今回も最後までお読みいただきありがとうございました。
では。