Table Of Contents
「属性を取得」アクティビティの概要
UiPathの「属性を取得(GetAttribute)」アクティビティは、その名の通り、Webブラウザ上のUI要素の属性(=Attribute)を取得(=Get)する際に使用します。
例えば、入力フォーム上の送信ボタンの「aastate」属性を取得することで、ボタンの状態(有効で押下可能な状態/無効で押下不可な状態)を調べることができます。
「属性を取得」アクティビティの基本的な使い方
①アクティビティパネル上の検索欄に「属性を取得」と入力・検索し、デザイナーパネル上に配置する
※本記事ではクラッシクの「属性を取得」アクティビティについて紹介します。
②「属性を取得」アクティビティ上の「画面上で指定」をクリックする
③属性を取得したいUI要素を選択する
④「属性」プロパティ右側の「▼」をクリックし、選択可能な属性一覧を表示し、任意の属性を選択する
⑤「保存先」プロパティに属性値を格納する変数を指定する
属性について
「属性を取得」アクティビティで取得できる属性の例をいくつか紹介します。
aastate
UI要素の状態を表す属性です。例えば、該当の要素が選択可能か、フォーカスを持っているか、非表示状態かなどの状態を表します。
type
フォームの入力要素の種類を指定します。例えば、よく使われる設定値として「text」(=テキストボックス)や「checkbox」(=チェックボックス)、「radio」(=ラジオボタン)、「button」(=一般的なボタン)、「submit」(=送信ボタン)などがあります。
href
UI要素に付随するURL情報を指定する属性です。例えば、メニューボタンのhref属性を取得することで、メニューページのURLを取得することができます。
id
UI要素の一意識別子のことです。基本的にidは固有値が設定されているため、id属性を取得することで、要素を一意に特定することができます。
「属性を取得」アクティビティのプロパティについて
使用頻度の高いプロパティとそれらの使い方について説明します。
セレクター
説 明:アクティビティの実行時に特定のUI要素を検索するために使用されるプロパティです。自動化プロセス中にロボットが操作する対象の要素を特定するために使用します。
設定値例:下図参照
上記セレクターで指定されるUI要素
タイムアウト(ミリ秒)
説 明: アクティビティの実行が完了するまで待機する時間をミリ秒で指定します。指定した時間までに実行が完了しなかった場合には例外がスローされます。既定値は30000ミリ秒(30秒)です。
設定値例:10000
上の場合は、最大10秒間実行完了を待機します。
準備完了まで待機
説 明:対象の準備が完了するまで、アクションの実行を待機します。次のオプションが使用可能です。
設定値例:NONE – 対象の準備完了を待機しません。
INTERACTIVE – アプリの一部が読み込まれるまで待機します。
COMPLETE – アプリ全体が読み込まれるまで待機します。
属性
説 明:取得したい属性を選択します。属性は様々な種類があるため、目的や用途によって指定します。詳細は前項をご確認ください。
設定値例:”text”、”aastate”、”name”、”type”
エラー発生時に実行を継続
説 明:現在のアクティビティが失敗したときに後続のアクティビティの実行を継続するかどうか指定します。
設定値例:Boolean値(True,False)を指定します。
Trueの場合:エラー終了せず、後続処理の実行を行います。
Falseの場合:エラー終了します。
表示名
説 明:デザイナーパネルに表示されるアクティビティの名前です。表示名は、ターゲットを指定すると自動的に生成されます。
設定値例:”提出者業務を指定しない”をクリック
※複数のアクティビティがある場合、フローの可視性を向上させることができるため、適宜変更することをおすすめします。
結果
説 明:属性プロパティで指定した属性の値を結果として返します。
設定値例:文字列型変数を指定します。
「属性を取得」アクティビティの活用事例
下図の赤枠で囲まれたラジオボタンのチェック状態を取得し、チェック状態ではない場合は当ボタンをチェックする処理を実装してみます。
URL:https://disclosure2.edinet-fsa.go.jp/weee0050.aspx
①デザイナーパネルにアクティビティをドラッグアンドドロップします。
②セレクター情報を取得するために画面上で指定を選択します。
③UI Explorerを開きます。
④プロパティエクスプローラーに記載されている”text”の中身を確認します。
“text”の属性に「checked」が入っています。このチェックボックスにチェックが入っているのか否かで判定処理のプロセスを作成します。
“text”の属性をとって、ラジオボタンにチェックが入っていれば、何もせず、チェックが入っていなければ、チェックをつけるというような条件分岐のワークフローを作成しました。
※アクティビティ上の▼から展開した属性一覧に表示されている属性以外に、UI Explorerのプロパティエクスプローラー上に表示されている属性も指定可能です。
例)text属性はプロパティエクスプローラー上にしか表示されていない属性ですが、指定することが可能です。
一般的なトラブルとその解決策
実行時にセレクターが見つからない系のトラブル
UI要素が動的に変化する場合は、セレクターをより動的に設定するか、柔軟なパターンを許容するように調整します。
どの属性を指定したらいいのか分からない
▼から展開した属性一覧には具体的な属性値が記載されていないため、どの属性を選択すればよいのかわからない場合があります。
その際は、前述のとおり、UI Explorer > プロパティエクスプローラー上で属性および属性値を確認することをおすすめします。