はじめに
UI Automation 25.10では、セレクターを取得する際に新しいエクスペリエンスを使えるようになりました。今回は、モダンアクティビティが導入された以来、最も大きな更新で、かつ最も多い新機能が追加されたと思います。まだプレビュー版のため、今後大きく仕様変更する可能性がありますが、本記事はUIAutomation 25.10.13における新しいエクスペリエンスの仕様に基づいて説明いたします。
新しいエクスペリエンスを有効化
「要素を指定」を押し、下記「選択オプション」のウインドウが表示されます。このウインドウで「新しいエクスペリエンスを有効化(プレビュー)」のトグルをオンにすると、次回の「要素を指定」で、新しいエクスペリエンスが表示されます。
下図は、新しいエクスペリエンスの画面です。
設定箇所の変化
1.UIフレームワークの選択
クラシックは、「選択オプション」の右上①のところでフレームワークを選択します。一方で、新しいエクスペリエンスでは、フレームワークの選択は下図③設定ボタンの中に移動されました。
2.クラシックの「レスポンシブ対応」や「要素の可視性」は、「選択オプション」の「オプション」タグにあったのですが、新しいエクスペリエンスでは、同じく③設定ボタンの内部に移動されました。
3.あいまいセレクターと厳密セレクターの設定箇所
クラシックでは、「厳密セレクター」「あいまいセレクター」はターゲットメソッドとして、どちらか1つ、または2つを同時に選択できます。一方で、新しいエクスペリエンスでは、「厳密セレクター」「あいまいセレクター」の名前が消え、「セレクター」タグに統合されました。なお、「選択オプション(ヘルパー)」で両方を同時に有効化することができなくなりました。
ロボは、自動で最適なセレクターモードを利用するようになっていますが、やはり、自分で調整しようとする場合は、「セレクターを編集」の画面や、プロジェクト設定>UI Automationモダン>ターゲットメソッド-Webブラウザー>セレクター-既定の検索の種類で切り替えできます。
下図の通り、4つの選択肢があります。簡単に言うと、「厳密セレクター」≈「1つの一致」で、「あいまいセレクター」≈「すべての一致」です。
新しいターゲットメソッドの追加
UI Automation 25.10.8以降、新しいエクスペリエンスでは、Healing Agentの導入に伴い、セマンティックというHA専用のターゲットメソッドが使えるようになりました。セマンティックセレクターは、設計時に定義されたUIターゲット要素の自然言語での記述です。セマンティックセレクターは通常の実行中は使用されませんが、セレクターの失敗を回復するためにHealing Agentが動作しているときにのみアクティブ化されるフォールバックメカニズムとして機能します※。
※参考資料:Agents-回復戦略
設定方法は2つあります。
1.「選択ヘルパー」で、セマンティックのトグルをオンにすると、セマンティックテキストが自動生成されます。もちろん、テキストエディターで自由にプロンプトを編集することができます。
2.アクティビティのプロパティパネルでも、セマンティックセレクターを定義できます。
万が一UI要素が見つからなかったら、ジョブが失敗してしまうので、あらかじめセマンティックを設定し、対策を講じたほうがいいですね。
セレクターの編集
この部分で、以下の内容を説明いたします。
①厳密セレクターの編集方法
-親(Html Tree)の選択
-属性の編集
-一致した要素の確認
-アンカーの設定箇所
②あいまいセレクターの編集方法
-属性の編集
-一致した要素の確認
-属性ごとのFuzzy度の調整
厳密・あいまいセレクターを統合したうえで、UIエクスプローラーの機能も集約されたため、新しいエクスペリエンスは、今まで最強のセレクターエディターを提供していると考えられます。クラシックのように、直接「選択オプション」パネルで、セレクターを編集するのができなくなりました。その代わり、下図セレクター右側の三点リーダーをクリックし、「セレクターを編集」を押し、専用画面で編集するようになっています。
また、「すべての一致表示」をクリックしたら、画面上で検出されたすべての重複要素が黄色で表示されます。これは、クラシックの重複ボタンを押すのと同じです。
それに、昔このパネルでセレクターのコピーができませんでしたが、新しいエクスペリエンスでできるようになりました。
厳密セレクターの編集方法
厳密セレクターの編集画面は、下図となります。
一気にアドバンスになった感じがします。
赤枠:UIエクスプローラーと同じように、HTMLのツリーが表示され、ここで、セレクターの階層を編集することができます。
紫枠:取得したセレクターの実際値が表示されます。それを参考にし、左側のtableRow、tableColといった属性を調整することができます。
水色枠:一致した要素を表示するところです。1つの一致なので、今は1つしかありません。曖昧セレクターの場合、たくさんでたりします。
緑枠:「アンカーを有効化」ですが、現時点において、厳密セレクターモードでは、アンカーが追加できなくなったため、有効化できません。
あいまいセレクターの編集方法
下図はRPAChallengeを例にしたあいまいセレクターの画面です。
赤枠:ここで、1つの一致(厳密セレクター)への切り替えができます。
黄色枠:黄色枠右側の灰色の部分は、今選択中要素の各属性の実際値です。実際値なので、ここを編集することができません。その代わり、黄色枠内の部分は、編集できます。チェックボックスで、どの属性が要るか要らないかは選択できます。それに、属性に対する値の編集ができます。
水色枠:選択した要素と類似する要素の数と類似度を表す箇所です。今回、Addressしたのテキストボックスを選択したところ、7件の類似要素が検出されました。つまり、RPAChallenge画面上の7つのテキストボックスは全部類似要素として検出されましたね。ただし、今選択中のAddressのテキストボックスは、縦棒が一番高いため、要素が特定されている状態です。要素が特定された理由は、黄色枠を見たらわかります。テキストボックスは、すべて唯一のIDで定義されているので、同じテキストボックスなのですが、IDによってちゃんと認識されています。
もし、IDを編集したらどうなりますか?
まず、PhoneNumberのテキストボックスを選択します。IDはrSG27です。
続いて、類似要素の左からの2番目に高い縦棒を選択します。
2番目に高いの縦棒を選択したら、LastNameのテキストボックスが検出されました。それに、紫枠の実際の値の部分を見てみましょう。要素はLastNameに変わったため、IDの実際の値はsH1F7に変わりました。左側の黄色枠は、PhoneNumberのテキストボックスの値で、IDはrSG27のままです。
では、なぜLastNameのテキストボックスは、7つの要素の中で最もPhoneNumberのテキストボックスと似ているのでしょうか。原因は、二つの要素のIDとも、S、7という文字が含まれるからです。ほかのテキストボックスには、PhoneNumberのテキストボックスのrSG27とかぶる文字が少ない、もしくはないため、類似度はLastNameより低りです。
*を入れて、7外の文字を全部無視してみましょう。
そうすると、7件の中で類似の要素は3件検出されました。
その原因は、CompanyNameのIDの最後の文字も7になっているからです。
以上の修正で、IDで要素が特定できなくなったため、重複要素は複数検出されました。
あいまいセレクターのもう1つの新機能は、新しいエクスペリエンスで登場しました。クラシックでは、Fuzzy度(あいまい度)は、セレクター単位でしか調整できませんが、新しいエクスペリエンスでは、属性単位で修正できるようになりました。
ほかの属性が一緒なので、ID属性のFuzzy度だけ調整してみましょう。
IDのFuzzy度を0.0※にする場合は、7件の類似要素が検出されました。
※Fuzzy度の範囲は0~1です。高ければ高いほど、要素の検出基準が厳しくなります。1の場合は、完全一致でなければ、要素が検出できません。
少しずつFuzzy度を上げましょう。
Fuzzy度を0.17にすれば、検出基準が厳しくなったため、7件の中の1件は、類似度が低すぎるので、排除されました。
さらに0.3に上げたら、類似は1件しか残っていません。
0.5にしたら、類似要素はなくなりました。
終わりに
新しいエクスペリエンスの導入で、厳密・あいまいセレクターが統合され、UIエクスプローラーの機能も吸収されたうえで、Healing Agent対応するためのセマンティックセレクターも導入されたため、UI操作にとって非常に大きなアップデートだと思います。プレビュー版のため、まだ機能変化が起こる可能性もあるので、変化があったら、本記事も更新していきます。



















