前回、書いた内容でSelectorについて述べました。
これはUiPathが各要素を認識するための記述で、私の理解ではUiPathにとっての目としての機能を果たしていると考えています。
ここを理解する事で、UiPathをきちんと使いこなせるようになります。
早速確認をしていきましょう。
まずは、問題が発生するケースを見てみましょう。
例えば、下記の様なテーブルがあり、総合計の値(この場合は300)を取得したいとします。

前回の記事の「テキスト情報の取得」を参考にして、Recordingの機能によりデータを取得する事にしました。
生成される処理は下記の通りです。(最後に取得した値を確認するために、Message Boxを追加しています。)

実行すると、下記のメッセージボックスが表示されます。無事に、「300」という数字が取れました。

次に、同じテーブルでレコードが1件、追加されたとします。

この状態で、上記で作成した処理を流すと、下記のメッセージボックスが出力されます。

残念ながら、「250」という数字が抽出されてしまいました。本当は総合計が欲しいのにうまくいきません…
何故、上手くいかないのか
ここで、Selectorを確認する必要が出てきます。UiPath StudioよりSelectorを確認しましょう。まずは、テキストを取得しているGet Textをフォーカスして、Selectorを確認します。

下記の画面が表示されます。

見てみると、テーブルの3カラム目(tableCol='3')で、4行目のテキスト(tableRow='4')を取得する様に指定されていることが分かります。
なので上記の例では、このルールに則って4行目の3カラム目にある「250」という数字を取得してしまったのです。
この問題を解消するには?
ここでようやく、Selectorを修正していきたいと思います。これには、UiExplorerというツールを使います。そして、これはUiPath Studioには含まれています。ウィンドウズアプリケーションやWebページの構造を表示し、ユーザーによる選択を可能とする機能です。(何だか分かり辛い説明ですね。)
とりあえず、内容を見ていきましょう。
まず、Launch UiExplorerをクリックします。

下記の画面が立ち上がるので、矢印をクリック。取得したい要素を選択しましょう。(このケースでは、総合計の数値を選択しています)

下記の様な画面が表示されます。ここでは、TableRow(つまり何行目か)が固定になっていることが問題でしたね。
なのでここでは、tableRowのチェックを外して、代わりにrowname(=総合計)をチェックしてあげましょう。

最後に、<webctrl ~で始まる部分をコピーして、先ほどのアクティビティのSelectorに貼付けましょう。

この作業により、UiPathは「総合計」の行の3カラム目のテキストを取得する事を認識しました。行が増減しても、これで問題ありません。

時に、UiPathを使うときには人間が認識している情報を、上記のような手順により認識させる必要があります。Selectorは変数も使えますし、*や?といったワイルドカードも利用可能です。
きちんと使いこなすことで、自分が欲しい情報を確実に抽出できるようになりますので、色々と試してみると面白いと思います。