Last updated on 2022年8月13日
久しぶりのUiPathノート。
UiPathのセレクターには完全セレクターと部分セレクターという考え方があります。
実際の開発ではそこまで意識する必要のない知識ですが今回はこちらについて紹介したいと思います。
完全セレクターは絶対パス、部分セレクターは相対パスのイメージです。
Contents
絶対パス、相対パスと似たようなもの
セレクターというワードではイメージが持ちづらいですが、「完全セレクター・部分セレクター」とはファイルシステムでいう「絶対パス・相対パス」と考え方は同じです。
完全セレクター
ファイルシステムでいうと絶対パスと同じく、ルートからのすべての情報を記述します。
つまり、「全てを記述した=完全」セレクターです。
部分セレクター
部分セレクターは、ファイルシステムでいうと相対パスです。
“どこから”という基準を決めそこからのセレクターを記述します。
このとき基準を定めるのがコンテナアクティビティというものです。
言い換えれば、コンテナアクティビティの中でしかこの部分セレクターは生成されません。
もちろん、利用も不可です。
つまり、部分セレクターとはコンテナアクティビティで指定されたUI要素からの相対的なUI要素を指定したものになります。
部分セレクターを生成するコンテナアクティビティ
部分セレクターを生成するコンテナアクティビティには次のアクティビティになります。
アプリケーションを開く | 指定されたURLでブラウザを開き、その中で複数のアクティビティを実行できるようにするコンテナ |
ウィンドウにアタッチ | すでに開いているウィンドウにアタッチして、その中で複数のアクションを実行できるようにするコンテナ |
ブラウザーを開く | 指定されたアプリケーションを起動し、その中で複数のアクションを実行するコンテナ |
ブラウザーにアタッチ | すでに開いているブラウザに接続して、その中で複数のアクションを実行できるようにするコンテナ |
完全セレクターと部分セレクターのサンプル
完全セレクターと部分セレクターのサンプルをメモ帳への書き込みの例を紹介します。
「ウィンドウへアタッチ」と「文字を入力」アクティビティを使っています。
完全セレクターのサンプル
部分セレクターのサンプル
完全セレクターと部分セレクターの使い分け
使い分けと書きましたが、どちらを使わなければいけないというルールはありませんし、どちらかの方法でしか動かないというようなこともありません。
使い分けについては、半分は個人の趣味によるところが大きいです。
とはいえ、開発での推奨はあり、それは保守の観点および動作の観点となります。
同じアプリケーションや同じウィンドウ上で複数回の操作を行う場合、部分セレクターを利用したほうがUI要素を操作する意図が明確になり、保守をしやすいワークフローになります。
また、親ウィンドウのセレクターが微妙に変わってしまった場合も内部の構造が変わっていなければ、コンテナアクティビティの「ウィンドウへアタッチ」さえ修正すれば、その変更だけで対応することができます。
動作の観点としては、PCへの負荷が挙げられます。
完全セレクターは対応するUIをルートから順次探すので、実行時のPCへの負荷も少なからず高くなります。
あまり気にしなくてもいい程度ではありますが、覚えておいてPCスペックによっては対応できるようにしておくと良いと思います。
最後に
以上、UiPathの「完全セレクター」と「部分セレクター」についての説明でした。結論、どちらを使っても良いだと思いますが使い分けを意識しつつ開発してみてください。
今回も最後までお読みいただきありがとうございました。
では。