2019年8月25日スポンサーリンクRPAツールのUiPathを使っていますか?RPAコンサルタントのプロコアラは、個人でも無料で利用可能なコミュニティーエディションをお勧めしています。精度の高い自動化処理をGUIで簡単に作成できるUiPathですが、それはセレクターというUI構造を分析して位置を特定しているためです。UiPathのセレクターについて知りたい方は次の記事をご覧ください。UiPathのセレクターとは?確認方法と修正方法をプロが解説こんにちは、RPAコンサルタントのプロコアラです。RPA関連の記事が多くなりましたので、RPA関連の記事を「RPAスクール」へ移...UI構造を分析する精度の高いセレクターですが、UI構造が変わってしまうとあたりまえですが処理が動かなくなってしまいます。今回はUI構造が変化する可能性がある場合に使えるアンカーベースについて紹介します。アンカーベースを覚えて、更に信頼性の高い自動化処理を構築できるようになります。スポンサーリンクざっと読むための目次アンカーベースとは?なぜアンカーベースが必要なのか?アンカーベースの使い方アンカーベースアクティビティを追加する方法セレクター編集からアンカーを指定する方法まとめアンカーベースとは?アンカー(anchor)とは、錨(いかり)を意味します。錨は船を安全に止めておくために使用する道具です。綱引きで最後尾の重しの役割をする選手を錨(アンカー)というようになり、リレーの最終走者をアンカーと呼ぶようになったと言われています。(諸説あり)UiPathのアンカーベース指定というテクニックも同じイメージで考えてください。錨を下ろして船の位置を固定してから、次の行動を開始します。アンカーベースが必要なのか?アンカーベース指定は、UI要素が変化してしまう場合に必要です。UiPathは画面の相対位置ではなくUI構造を分析しているため精度が高い自動化処理を作れることが特徴なのですが、UI構造が変わってしまう場合には処理が動かなくなってしまいます。このような場合には「アンカーベース」アクティビティを使うべきです。RPAチャレンジというサイトを使って説明します。RPAチャレンジは、RPAの練習用のページでアクセスの度にUIが変化するため、アンカーベース指定の練習には最適です。NameにTaroと入力する処理をレコーディングで作成します。ウェブレコーディングで「ページを開く」後に「文字を入力」を行いました。出力されたワークフローは以下のようになりました。作成された自動化処理を実行してみましょう。するとエラーが発生します。これはRPAチャレンジはアクセスするたびにUI構造が変わるためです。Explorerで見てみましょう。Explorerから起動できます。「要素を選択」で分析したい要素を選択することができます。Nameのテキストボックスのidは”eCVNU”でした動的に変わるid要素をセレクターで指定しているため、エラーとなってしまっていたのです。このように、動的に変わる要素を指定する場合はアンカーベースを使用する必要があります。html,cssで静的に作成されたページではなく、Javascriptなどで動的に作成されているページなどがこのように動的に要素が変わる場合があります。動的には変わらない場合にもアンカーベースは有効です。将来的に変わる可能性が高い要素がある場合には、アンカーベースを使用していたほうがいいです。セレクターを確認してインデックス(idx)が指定されていた場合、将来変わる可能性が高いインデックスは指定しないようにしましょう。セレクターのUI構造の指定変更で解決できない場合はアンカーベースを使いましょう。アンカーベースの使い方UI構造が動的に変わる「RPAチャレンジ」を例に、アンカーベースの使い方を確認しましょう。NameのUIを指定します。Nameのテキストボックスを指定します。これで自動化処理は作成できました。実行して正しく設定できることを確認してください。セレクター編集からアンカーを指定する方法アンカーを指定する方法として、セレクターから指定する方法を紹介します。先ほどエラーになったワークフローを使用して説明します。Explorerで開く」を選択してください。Nameを指定します。アンカーを指定すると、セレクターエディタに追加されます。動的に変更されるidが指定されたままだとエラーになってしまうため、外しておきましょう。以下のようなセレクターになりました。up=1は一段上の階層を指定しています。Explorerの変更後、保存してから再度実行すると問題なく動作できます。まとめ今回はアンカーベースについて解説しました。UiPathのセレクターは強力で、精度の高い自動化処理を作成することができますが、弱点もあります。UI構造が動的に変わる場合、UI構造が変わる可能性が高い場合にはアンカーベースを使用しましょう。直接アクセスできないUIが稀にありますので、そのような場合にはアンカーベースを指定してアクセスできないか検討してみましょう。UiPathについて体系的に書籍で学びたい場合はこちらの本がオススメです。MEプロコアラRPAコンサルタントのプロコアラです。長年のエンジニア経験を活かしてして外資系コンサルファームでRPAコンサルしてます。転職ノウハウ、プログラミング、英語の勉強方法など分かりやすいように解説していきます。元エンジニア・RPAコンサルプロコアラRPAコンサルタントのプロコアラです。長年のエンジニア経験を活かしてして外資系コンサルファームでRPAコンサルしてます。転職ノウハウ、プログラミング、英語の勉強方法など分かりやすいように解説していきます。