ひと固まりになって取得できないUI要素について

初めて投稿します。
現在とある会計システムの自動化に取り組んでいるのですが、デスクトップ・レコーディングでアプリケーション上のUI要素を取得しようとしたときに、複数のボタンや、スクロール窓の中のリスト要素などが「ひとつの固まり」になっており、その固まりの中のUI要素を取得することができません。

このような場合、UI要素を取得するための方法や、対策はありますでしょうか。

漠然とした相談で申し訳ありません、御指南いただけると幸いです、
よろしくお願い致します。

デスクトップ・レコーディング機能で難しければ、以下の提案に限定されてしまいます。

・画像マッチングでの処理
→そこまで精度は高くないので、最悪のケースとして利用。

・CVの利用
→これは最近できたアクティビティで、画像マッチングよりもより精度の高い方法です。
Computer Visionの略です。こちらをご参照ください。

ご回答ありがとうございます。
cvについて拝見しました、クラウドのAIを使って高い精度で画面の認識を実現しているということですね。
とても興味深いのですが、画面上に個人情報が掲載されていることと、AIの利用回数制限がある?ということでやや実用が厳しいかもしれません、、

CVについては、リリースされた際にオンプレミス版(ユーザーの社内にAIの仕組みを置く形態)についても案内がありましたので、そちらについて UiPath またはお取引のあるリセラー様に確認されても良いかもしれません。

@sqzfuruki さん

可能性はあまり高くないですが、UiExplorerで、オブジェクト認識の方法の部分(下図参照)を、設定変更して試してみてください。
初期設定だと認識できない場合でも、うまくいくことが稀にあります。

1 Like

ご返答ありがとうございます。
社内に設置できるのであれば活用できそうですね。リセラー様へ問い合わせてみます。

ご回答ありがとうございます。
オブジェクト認識の方法を変更してUI要素の取得を試みてみましたが、残念ながら今回は良い結果は得られませんでした。
有益な情報ありがとうございました。

「画像をクリック」アクティビティは試されましたか?
UI要素が取得できない場合に画像を認識させて操作することができます。
動作が安定しない場合はリトライスコープ内に配置すると良いかもしれません。

ご回答ありがとうございます。
説明が不足しておりました。
画面内に表示されている要素が
01 あああ
02 いいい
05 おおお
08 えええ
12 かかか
というように変化するリストになっており、この要素を動的に選択する、という処理に取り組んでいるのですが、可能であればセレクターで取得することが理想的だったのですがかなり難しい状況ですので、OCRを使って自動化をすることにしました。
数字の認識ができれば良いため、
Windows OCR で一旦認識され、認識できない場合は GoogleのOCRで再度認識するという方法を採用したところ、認識率が99%以上となりましたのでこの手法で検証を進めてみようと思います。

1 Like

@saintseiyer

こんにちわ!

同じ様な状態となるケースをご紹介すると、
例えばPowerBuilderで作成されていたシステムの場合、そのバージョン
にもよるかも知れませんが、まとまったフレーム内のUI要素を個別で認識
しないことが多いです。
この場合、UiExplorerのツリーを全て探しても要素が見つからない、
UIフレームワークを変更しても困難と思われます。

まとまったフレーム内のUI要素を処理する場合は、不完全な
OCRを使わなくても座標指定で処理できる可能性がありますので、
お試し頂ければよろしいかと。
例えば、要素の中にあるテキスト取得方法を一つご紹介して置きます。
(クリックなども同様)

・例えば「フルテキストを取得」のアクティビティを使用。
・アクティビティの「画面上の指定」で取得したい画面上の文字列フィールド
にマウスを右ダウンしながら矩形で領域指定すると、ターゲットが座標指定
で設定でき、その部分の文字列が取得できます。
※あくまでも、取得できるのは表示されている文字列になります。

後、フレーム内にあるコンボボックスを選択させる方法など、他にも
ありますが、こちら長文となりますため、割愛します。

4 Likes