- 概要
- UI Automation
- UI Automation を使用して自動化されるアプリケーションと技術
- UI-ANA-016 - [ブラウザーを開く] に使用されている URL を検出
- UI-ANA-017 - [エラー発生時に実行を継続] の値が True
- UI-ANA-018 - OCR/画像関連のアクティビティのリスト
- UI-DBP-006 - コンテナーの使用
- UI-DBP-013 - Excel の自動化方法の誤用
- UI-DBP-030 - セレクター内での変数の使用禁止
- ST-DBP-021 - ハードコードされたタイムアウト
- UI-PRR-001 - クリックをシミュレート
- UI-PRR-002 - 入力をシミュレート
- UI-PRR-003 - [アプリケーションを開く] の誤用
- UI-PRR-004 - ハードコードされた待機時間
- UI-REL-001 - セレクター内の大きいインデックス値
- UI-SEC-004 - メール アドレスのデータを含むセレクター
- UI-SEC-010 - アプリ/URL の制限
- UI-USG-011 - 許可されていない属性
- SY-USG-013 - プライベート ファイルの呼び出し
- SY-USG-014 - 実行テンプレートのプレースホルダーの誤り
- UiPath ブラウザー移行ツール
- Computer Vision レコーダー
- アクティベート
- アンカー ベース
- ブラウザーにアタッチ
- ウィンドウにアタッチ
- ユーザー入力をブロック
- トランザクションを呼び出し
- 吹き出し
- チェック
- クリック
- 画像をクリック
- 画像クリック トリガー
- OCR で検出したテキストをクリック
- 画面上の画像をクリック
- テキストをクリック
- ツールバー ボタンをクリック
- クリック トリガー
- アプリケーションを閉じる
- タブを閉じる
- ウィンドウを閉じる
- コンテキスト対応のアンカー
- 選択されたテキストをコピー
- 要素属性変更トリガー
- 要素の存在を確認
- 要素スコープ
- 要素ステート変更トリガー
- ALV 階層テーブルを展開
- ALV ツリーを展開
- ツリーを展開
- UI ツリーをエクスポート
- 構造化データを抽出
- 子要素を探す
- 要素を探す
- 画像を探す
- 一致する画像を探す
- OCR でテキスト位置を探す
- 相対要素を探す
- テキスト位置を探す
- アクティブ ウィンドウを取得
- 親要素を取得
- 属性を取得
- イベント情報を取得
- クリップボードから取得
- フル テキストを取得
- OCR でテキストを取得
- パスワードを取得
- 位置を取得
- ソース要素を取得
- テキストを取得
- 表示中のテキストを取得
- 前に戻る
- 次に進む
- ホームに移動
- Google Cloud Vision OCR
- ウィンドウを隠す
- 強調表示
- ホットキー トリガー
- ホバー
- 画像上でホバー
- OCR で検出したテキスト上でホバー
- テキスト上でホバー
- 画像の存在を確認
- 画面上で指定
- .NET コードを挿入
- JS スクリプトを挿入
- ActiveX メソッドを呼び出し
- キー操作トリガー
- 画像を読み込み
- ウィンドウを最大化
- Microsoft Azure ComputerVision OCR
- Microsoft OCR
- Microsoft Project Oxford Online OCR
- ウィンドウを最小化
- イベントを監視
- マウス トリガー
- ウィンドウを移動
- URL に移動
- OCR でテキストの存在を確認
- 要素が出現したとき
- 要素が消滅したとき
- 画像が出現したとき
- 画像が消滅したとき
- アプリケーションを開く
- ブラウザーを開く
- ステータス バーを読み取り
- ブラウザーを更新
- ユーザー イベントを再生
- ウィンドウを復元
- SAP にログイン
- SAP にログオン
- SAP セッション属性変更トリガー
- 画像を保存
- カレンダーから日付を選択
- 項目を選択
- メニュー項目を選択
- 複数の項目を選択
- ホットキーを押下
- クリッピング領域を設定
- フォーカスを設定
- テキストを設定
- クリップボードに設定
- Web 属性を設定
- ウィンドウを表示
- プロセスを開始
- システム トリガー
- 表のセル スコープ
- スクリーンショットを作成
- Tesseract OCR
- テキストの存在を確認
- ツールチップ
- 文字を入力
- SecureString で文字を入力
- フォアグラウンドを使用
- 属性を待つ
- 要素の消滅を待つ
- 画像の消滅を待つ
- Computer Vision ローカル サーバー
- モバイル オートメーション
- ターミナル
高度な記述子の設定
[選択] 画面のより高度な機能の使用について詳しくは、以下のビデオをご覧ください。
ターゲットを指定すると、重複が生まれる可能性があります。重複は、ターゲット UI 要素と極めて類似していると認識される別の UI 要素であり、実行時にオートメーションが失敗する原因となることがあります。重複が見つかった場合は、黄色で強調表示され、その上に各重複を検出したターゲット メソッドに対応する文字を含むラベルが付けられます。
- S - 厳密セレクター
- F - あいまいセレクター
- CV - Computer Vision
- I - 画像
重複を避ける最適な方法の 1 つは、アンカーを指定することです。
信頼性の高い記述子を作成するには、ターゲットを指定した後にアンカーを指定することをお勧めします。1 つのターゲットに対して最大 3 つのアンカーを指定できます。アンカーは、以下に説明するように、いくつかのシナリオで見つかります。
ターゲットを指定すると、それに対するアンカーの自動識別が試行されます。
このセクションでは、この検索の実行方法についての技術的な詳細を確認できます。
ターゲットを指定すると、指定された UI 要素の種類が識別されます。検索対象は次の要素と方向です。
- ボタン - 要素の内部。
- チェックボックス - 要素の右側。
- ドロップダウン - 要素の左側と上部。
- 入力ボックス - 要素の左側と上部。ブラウザーの自動化の場合は、入力ボックス内でラベルも検索対象となり、
AreaLabeledBy
属性が検索されます。このラベルが識別されない場合、tag=label
およびfor='id of the input box'
を持つ要素が検索対象となります。 - ラジオ ボタン - 要素の右側。
- 画像 - 要素の右側と下部。
識別された要素の種類に応じて、その要素で対応するアンカーが自動的に検索されます。
自動的に識別されたアンカーは、ターゲット要素の近くに常に存在するテキスト要素の形式であるため、実行時により高い精度で要素を識別するのに使用できます。
上記の方向のいずれにおいても結果が生成されない場合は、汎用のケースが使用され、要素階層で適切なアンカーが検索されます。
ターゲット要素上にホバーしたときに表示されるメニューにアクセスして、特定の要素 (ターゲットまたはアンカー) を編集することもできます。このメニューには、次のような複数のオプションがあります。
ボタンをクリックすると、指定するプロセスを閉じて、行った変更を保存します。
ボタンをクリックすると、特定のテキストのコンテンツに関係なく、要素をターゲット指定できます。これは、リストに何が含まれるかはっきりわからないときに、検索のリストの最初の要素を選択しようとしている場合や、さまざまな理由でラベルが変更される動的な要素を操作している場合に役立ちます。ターゲットを指定する際にこの機能を使用すると、あいまいセレクター メソッドのみが識別に使用され、あいまいセレクターが取り除かれて、ラベルの変更に関係なく要素が指定されるようになります。
ボタンをクリックすると、追加のアンカーとして機能する隣接する UI 要素を選択できます。任意のターゲットに対して最大 3 つのアンカーを指定できます。
ボタンをクリックすると [選択オプション] の [ターゲット] セクションが展開され、現在の記述子で使用されるターゲット メソッドを設定できるようになります。
ボタンをクリックすると、指定したターゲットが削除され、別のターゲットを選択できます。
[オプション] セクションを展開すると、次のオプションが表示されます。
- 変更を自動適用 - オンにすると、ターゲット要素とアンカー要素の変更を自動適用します。
- レスポンシブ対応の Web サイト - 選択すると、アンカーをターゲットの左から上に、またはターゲットの上から左に移動して、レスポンシブ対応の Web サイトを自動化できます。
- 要素の可視性 - UI 要素が表示されているかどうかを確認します。ドロップダウン メニューで、次の 3 つのオプションを使用できます。
- なし - 可視性を確認しません。
- 対話型 (あいまいセレクター用) - 既定のオプションです。要素が表示される可能性があるかどうかを確認します。確認時、ページをスクロールしないと表示されない、他のアプリで隠れている、アプリケーションが最小化されているという点は無視されます。この確認は、DOM に存在するものの表示されていない非表示の要素をターゲット要素として設定しないようにする場合に便利です。
- 完全に表示されている - 要素が画面上に表示されていることを確認します。
[ウィンドウ セレクター] セクションを展開して、指定した対象のアプリケーションのセレクターを表示および編集することができます。[UI Explorer で開く] ボタンを使用して、UI Explorer でウィンドウ セレクターを編集することもできます。
UI 要素を見つける内部のプロセスでは、いくつかのターゲット メソッドが使用されます。
- プライマリ ターゲット メソッドはセレクターです。厳密セレクターまたはあいまいセレクター
- 第 2 (セカンダリ) のターゲット メソッドは Computer Vision です。
- 第 3 (ターシャリ) のターゲット メソッドは画像です (既定では無効化されています)。
設計時は第 1 ターゲット メソッドの横に アイコンが表示され、実行時のシナリオがシミュレートされます。
複数のテクノロジにまたがるターゲット メソッドの既定のプロジェクト設定
以下の表は、複数のテクノロジにまたがるターゲット メソッドの既定のプロジェクト設定を示しています。
ターゲット メソッド | デスクトップ アプリケーション | Web ブラウザー | Java | SAP |
---|---|---|---|---|
厳密セレクター | ||||
あいまいセレクター | ||||
Computer Vision | ||||
画像 |
プロジェクト設定: プライマリ ターゲット メソッドがタイムアウトするまで待機
また、[プライマリ ターゲット メソッドがタイムアウトするまで待機] ([プロジェクト設定] > [UI Automation モダン]) は、アクティビティ パッケージ バージョン 23.10.3 以降の新しいプロジェクトでは既定で有効化されており、このアクティビティ パッケージ バージョンより前のバージョンで作成されたプロジェクトでは手動で有効化できます。これにより、フォールバック ターゲット メソッドを使用できるようになるまで、プライマリ ターゲット メソッドがフル タイムアウトを消費するための時間が追加されます。
プライマリ ターゲット メソッドの 1 つがタイムアウトの期限までに UI 要素を見つけることができた場合、そのメソッドが UI 要素と対話するメソッドとして使用されます。 厳密セレクターは最初に UI 要素を検索するターゲット メソッドです。その後すぐにあいまいセレクターが続きます。また、厳密セレクターはあいまいセレクターよりも優先されます。
タイムアウトの期限が過ぎるまでプライマリ ターゲット メソッドで UI 要素が見つからないときに、割り当てられたタイムアウト時間内のすべてのリトライにおいて厳密セレクターもあいまいセレクターも UI 要素を見つけられなかった場合に限り、セカンダリおよびターシャリ ターゲット メソッドがそれぞれのタイムアウト時間内に UI 要素の検索を開始します。
また、このプロジェクト設定により、セレクターに関連する問題の予測可能性と可視性が向上するため、UI 要素のターゲット設定をより適切に制御できると同時に、Computer Vision が提供する確実なフォールバックを利用できます。
このプロジェクト設定を無効にすると、すべてのターゲット メソッドが 1 回のタイムアウトで競合して階層に従って UI 要素を探します。ランクの低いターゲット メソッドで見つかったターゲットは、ランクの高いターゲット メソッドで検出できなかった場合にのみ使用されます。
プロジェクト設定: 要素が見つからないことを示すエラー メッセージ内に、最も近い一致を表示
[要素が見つからないことを示すエラー メッセージ内に、最も近い一致を表示] ([プロジェクト設定] > [UI Automation モダン]) は、アクティビティ パッケージ バージョン 23.10.3 以降の新規プロジェクトでは既定で有効化されています。また、このアクティビティ パッケージ バージョンより前のプロジェクトで作成されたプロジェクトでも手動で有効化できます。この設定を有効化すると、セレクターが失敗した場合、警告がログに表示され、UI 要素の検索に使用されたメソッドと、エラーが発生したセレクターの置き換えに使用できる最も近いセレクターの一致に関する 10 個の提案が表示されます。
記述子を手動で編集することはお勧めしません。これは、このプロセス全体がユーザーにとってシームレスなものとなり、高度な設定の必要なく優れた結果を提供するよう、入念に設計されているためです。 それでも、記述子にさらに高度な機能を設定したい場合は、ターゲット メソッドを有効化、無効化、および編集できます。
セレクターは、UI 要素とその親要素の属性を含む XML フラグメントです。セレクターは、要素とその属性を検証し、セレクターの属性と照合することで、画面上の UI 要素をターゲット指定するために使用されます。UiPath エコシステム内のセレクターの機能について詳しくは、こちらのページをご覧ください。
ターゲット要素の厳密セレクターは、[選択オプション] ウィンドウの専用のセクションから編集できます。[UI Explorer で開く] ボタンを使用して、UI Explorer でセレクターを編集することもできます。
[厳密セレクター] フィールドは、コンテキスト メニュー (右クリックでアクセス可能) からの変数と引数の使用および作成をサポートします。
また、セレクターの一部を選択し、コンテキスト メニューを使用して、それを選択内容が事前に入力された変数に直接変換することもできます。
[変数名] ドロップダウン メニューから作成済みの変数を選択して、セレクターで使用することもできます。
[既定値を上書き] チェック ボックスでは、定義済みの変数の値を現在の選択内容に置き換えることができます。
[確認] ボタンは、セレクターで加えた変更を保存します。
次のホットキーを使用できます。
Ctrl
+Space
: 変数を選択Ctrl
+Shift
+Space
: 引数を選択Ctrl
+K
: 変数を作成Ctrl
+M
: 引数を作成
変数や引数に加えた変更を、その変数や引数が見つかった他のすべてのインスタンスに反映できます。たとえば、ある変数が [厳密セレクター] フィールドと [あいまいセレクター] フィールドの両方で使用されている場合、1 つのフィールドで変数を変更すると、もう 1 つのフィールドで同じ値が見つかったことを知らせるメッセージが生成され、すべてのインスタンスを新しい値に置き換えるオプションが提供されます。
厳密セレクターではワイルドカードもサポートします。これは、文字列内のゼロまたは複数の文字を置換するために使用できます。この機能について詳しくは、こちらをご覧ください。
あいまいセレクターは厳密セレクターと非常に似ていますが、属性が完全一致ではなくあいまい一致である点が異なっています。これは、厳密セレクターは一度に 1 つの要素を出力するのに対し、あいまいセレクターは複数の要素を出力できることを意味しています。
あいまいセレクターは、[選択オプション] ウィンドウの専用のセクションから編集できます。
あいまいセレクターの照合の精度は、レーベンシュタイン距離アルゴリズムに基づいて、セレクターの類似性をカウントします。既定値は 0.5 です。[精度] スライダーから設定することも、有効な値を入力フィールドに直接入力して設定することもできます。照合の精度は 0.4 から 1 の範囲内で設定できます。値が小さいほどあいまい度が高くなり、あいまいセレクターで出力される要素の数が多くなります。また、値が大きいほどあいまい度が低くなり、出力される要素の数が少なくなります。
厳密セレクターと同様に、あいまいセレクターのフィールドでも変数と引数を使用および作成できます。また、ワイルドカードもサポートされています。詳しくは、上記の情報をご覧ください。
指定した要素にテキストが含まれている場合、テキストはあいまいセレクターの編集ウィンドウの下にある入力ボックスに表示されます。テキストがこの入力ボックスに表示されている場合、一致と見なされるためには、実行時にこのテキストが要素自体において見つかる必要があります。
入力ボックスの横にあるドロップダウン メニューには、次のオプションがあります。
- 次のテキスト/次の innerText/次のフルテキスト (使用するテキスト スクレイピング メソッドによる) - スクレイピングしたテキストを表示します。最適なスクレイピング メソッドは自動的に識別され、そのメソッドを使用することをお勧めします。
- テキストを無視 - 入力ボックスで指定されたテキストが無視されます。
ターゲットに画像の自動化が使用されている場合は、要素のスクリーンショットを表示することも、画像の精度を調整することもできます。既定値は 0.8 です。[精度] スライダーから設定することも、有効な値を入力フィールドに直接入力して設定することもできます。精度は 0.4 から 1 の範囲内で設定できます。詳しくは、「画像とテキストの自動化」セクションをご覧ください。
画像のみのターゲットを定義したい場合は、[画像領域の選択] (F3) を使用するか、指定時にターゲット/アンカーとして使用する領域を四角で囲んで選択します。
要素を指定した後に要素の画像が変更された場合、[更新] ボタンを使用して、選択した画像を手動で更新することもできます。
画像ターゲット メソッドは、[プロジェクト設定] で既定で無効化されています。
プロジェクト レベルで有効化するには、[プロジェクト設定] > [UI Automation モダン] > [ターゲット メソッド - デスクトップ アプリケーション] / [ターゲット メソッド - Web ブラウザー] / [ターゲット メソッド - Java] / [ターゲット メソッド - SAP] (自動化するアプリケーションの種類に応じて) > [画像] > [True] を選択します。
指定した要素に対してこのメソッドを有効化するには、その要素が有効である必要があります。
要素を指定する際に [ネイティブ テキストを有効化] チェックボックスをオンにした場合、ネイティブ テキストのターゲット メソッドが使用されます。このメソッドでは、操作する要素を識別するために、ネイティブ メソッドで識別されたテキスト ラベルすべてを使用できます。
このメソッドで識別されたテキスト ラベルは、専用のセクションから編集できます。また、大文字と小文字の切り替えボタンを使用して、テキストで大文字と小文字を区別するかどうかを指定できます。
検証プロセスでは、ターゲットの検索メソッドのすべての組み合わせが正しく機能していることが確認されます。[選択] 画面で [検証] ボタンを使用して、選択内容を検証できます。
ターゲットとアンカーのペアがある場合、それぞれのペアが、利用可能なターゲット メソッドすべてを使用します。最終的なターゲットを見つけるために、これらの各要素について考えられるすべての組み合わせが、画面上の要素に対して照合され、照合後にスコアが計算されます。
検証の実行後、重複が見つかった場合は、ターゲット アプリケーション内で強調表示されます。重複が見つからなかった場合は、ターゲット メソッドの横にアイコンが表示され、特定の状況における各ターゲット メソッドのステートが通知されます。次の記号が使用されます。
- 最速のターゲット メソッドです。
- メソッドは機能しましたが、最速ではありませんでした。
- メソッドで重複が検出され、このメソッドを他のターゲット メソッドと共に使用することで、正しい要素が識別されました。
- メソッドで重複が検出され、このメソッドを使用することで正しい要素を識別できませんでした。
- メソッドは要素の識別に失敗しました。