【できるUiPath】は注目のRPAサービス「UiPath」を使って、RPAのワークフローを作るための基本操作から、実際に業務をRPA化する実践テクニックまでを解説する連載です。
過去の記事一覧【できるUiPathまとめ】

レッスン30アンカーベース、相対要素

近くの要素を手がかりに特定要素を操作するには

画面上の要素を特定できないときは、近くにある目印を使ったり、相対的な位置を指定することで、クリック先や文字の入力先を特定できます。

アンカーベースや相対要素を使う

クリック先のボタンや入力先のテキストボックスの位置や名前が変化する可能性がある場合、通常の方法では安定的にワークフローを実行できません。

万が一、位置や名前が変わっても対応できるようにするには、アンカーベースや相対要素を使います。

[アンカーベース]

アンカーベースは、近くにある固定的な要素(ラベルやアイコンなど)を目印にすることで、クリック先や文字の入力先を指定できるアクティビティです。

近くの要素を手がかりに特定要素を操作するには(アンカーベース、相対要素) - できるUiPath

相対要素で指定する

画面上のUI要素は、階層構造によって管理されています。これを活用すると、固定的な親要素や子要素からの位置を指定することで、相対的に画面上の要素を特定できます。

近くの要素を手がかりに特定要素を操作するには(アンカーベース、相対要素) - できるUiPath

HINT画面がリニューアルされても対応できる

クラウドサービスなどでは、画面上のデザインや要素が頻繁に更新されることがあります。アンカーベースや相対要素での指定は、こうした画面デザインの変更などにも対応できる可能性があります。

常に変わらない固定的な要素さえ近くにあれば、たとえ画面が大幅に変更されても、ワークフローを実行できる可能性があります。

[アンカーベース]で指定する

アンカーベースは、近くにある要素を目印に使うことで、操作対象を特定できるアクティビティです。

ここでは、[名前]というラベルが変わらないことに注目し、これを目印に操作対象を特定します。

1RPAチャレンジのWebページを表示する

近くの要素を手がかりに特定要素を操作するには(アンカーベース、相対要素) - できるUiPath

RPAチャレンジ
2[アンカーベース]を追加する

近くの要素を手がかりに特定要素を操作するには(アンカーベース、相対要素) - できるUiPath

3[要素を探す]を追加する

近くの要素を手がかりに特定要素を操作するには(アンカーベース、相対要素) - できるUiPath

4アンカーを指定する

近くの要素を手がかりに特定要素を操作するには(アンカーベース、相対要素) - できるUiPath

HINT「RPAチャレンジ」に挑戦してみよう

ここでは、アンカーベースや相対要素を説明する例として、「RPAチャレンジ」に掲載されているサンプルページを利用します。このページは、アドレス帳のデータを入力するためのものですが、[名前]などの項目の順番や位置が入力や再読み込みのたびに変化します。

また、通常、テキストボックスを特定するときに使われるIDも「UXyNE」のように毎回ランダムに割り当てられるため、入力先の特定に使えません。

通常、こうしたWebページはRPAによる自動化が非常に困難ですが、UiPath Studioなら、このレッスンの方法で簡単に自動化できます。

近くの要素を手がかりに特定要素を操作するには(アンカーベース、相対要素) - できるUiPath

HINT変わらない要素に注目しよう

アンカーベースを使うときは、近くにある変わらない要素を選び出すことが重要です。近くにあったしても、その要素が変化する場合は、目印として使えません。Webページやアプリをよく観察して目印を選びましょう。

5[文字を入力]を追加する

近くの要素を手がかりに特定要素を操作するには(アンカーベース、相対要素) - できるUiPath

6テキストボックスを指定する

近くの要素を手がかりに特定要素を操作するには(アンカーベース、相対要素) - できるUiPath

7入力する文字を指定する

近くの要素を手がかりに特定要素を操作するには(アンカーベース、相対要素) - できるUiPath

8結果を確認する

近くの要素を手がかりに特定要素を操作するには(アンカーベース、相対要素) - できるUiPath

HINT近くの要素に対して操作が実行される

アンカーベースでは、指定した目印から最も近い要素に対して、操作が実行されます。

このため、固定的な目印があっても、近くに別のテキストボックスなどがある場合は、目的の場所を操作対象として選択できません。

HINTレイアウトを変えて試してみよう

RPAチャレンジの画面は、ページを再読み込みしたり、[登録]ボタンをクリックすることで、デザインが変更されます。

デザインが変わっても、作成したワークフローがきちんと動くかどうかを試してみましょう。

セレクターで相対要素を指定する

セレクターを使って、相対的に画面上の要素を指定してみましょう。

親の要素や子の要素を基準にすることで、単体では特定できない要素やその都度変わる可変的な要素も特定できます。

1[文字を入力]を追加する

近くの要素を手がかりに特定要素を操作するには(アンカーベース、相対要素) - できるUiPath

2入力先を指定する

近くの要素を手がかりに特定要素を操作するには(アンカーベース、相対要素) - できるUiPath

3セレクターを編集する

近くの要素を手がかりに特定要素を操作するには(アンカーベース、相対要素) - できるUiPath

HINTセレクターって何?

セレクターは、テキストボックスやボタンなど、画面上の構成要素を定義するために使われる文字列です。例えば、RPAチャレンジのページの「名前」というラベルは次のように表されます。

<html title='RPAチャレンジ' />
<webctrl aaname=' 名前' tag='LABEL' />

4UI Explorerを起動する

近くの要素を手がかりに特定要素を操作するには(アンカーベース、相対要素) - できるUiPath

5アンカーを指定する

近くの要素を手がかりに特定要素を操作するには(アンカーベース、相対要素) - できるUiPath

HINTセレクターの要素を編集することで指定することもできる

Webページによっては、セレクターの要素を追加したり、不要な要素を削除したりすることで、目的の項目を指定することもできます。

このレッスンの例では、手順5で、[id]をクリックしてチェックマークを外し、[<webctlaaname='名前'......]という項目を追加で選ぶことでも、同様に[名前]の項目に文字を入力できます。

近くの要素を手がかりに特定要素を操作するには(アンカーベース、相対要素) - できるUiPath

6ラベルを指定する

近くの要素を手がかりに特定要素を操作するには(アンカーベース、相対要素) - できるUiPath

7セレクターを編集する

近くの要素を手がかりに特定要素を操作するには(アンカーベース、相対要素) - できるUiPath

HINTどうして[id]のチェックマークを外すの?

RPAチャレンジのページでは、テキストボックスを識別するために割り当てられるidがランダムで生成され、ページを読み込むたびに変更されます。

このため、[id]を要素として選択しておくと、ページ上のidが変わっても、ワークフロー上の情報が古いままとなり、実行したときに要素を探せずにエラーになってしまいます。

8セレクターを確認する

近くの要素を手がかりに特定要素を操作するには(アンカーベース、相対要素) - できるUiPath

Pointいろいろな方法で要素を指定できる

UiPath Studioでは、ほとんどの画面上の要素を直接指定できますが、Webページやアプリの仕様上、どうしても指定できない要素もあります。

こうした要素を指定できるのが、ここで紹介した[アンカーベース]や相対要素の指定です。画面上にある別の手がかりを使って、操作の対象となる要素を特定できます。

困ったときに頼りになる方法なので、ぜひ覚えておきましょう。

提供:UiPath

関連まとめ記事