activities
latest
false
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。
UI Automation のアクティビティ
Last updated 2024年10月28日

高度な記述子の設定

[選択] 画面のより高度な機能の使用について詳しくは、以下のビデオをご覧ください。

重複

ターゲットを指定すると、重複が生まれる可能性があります。重複は、ターゲット UI 要素と極めて類似していると認識される別の UI 要素であり、実行時にオートメーションが失敗する原因となることがあります。重複が見つかった場合は、黄色で強調表示され、その上に各重複を検出したターゲット メソッドに対応する文字を含むラベルが付けられます。



重複を避ける最適な方法の 1 つは、アンカーを指定することです。

アンカー

信頼性の高い記述子を作成するには、ターゲットを指定した後にアンカーを指定することをお勧めします。

アンカーは、ターゲットを一意に識別するのに役立つ、周辺にある別の要素です。ターゲットを指定すると、Studio はアンカーを識別し自動で選択しようとします。また、手動で 3 つまでアンカーを追加することもできます。

ターゲット メソッドとして厳密セレクターのみが有効化されている場合、アンカーは使用されません。

アンカーの使用が適切な場合

ターゲット要素が一意でない場合には、アンカーが役立ちます。たとえば、デスクトップ アプリケーションのフォームには、一般にさまざまなデータを入力する類似した複数のテキスト ボックスが含まれています。各テキスト ボックスにどのデータを入れる必要があるかを見分けるには、横にあるラベルを確認します。同様に、テキスト ボックスのラベルをアンカーとして追加すると、ロボットはアンカーを使用して、情報を入力するテキスト ボックスを識別します。

重複と呼ばれる他の類似の要素とターゲットを区別するために、複数のアンカーが必要な場合があります。たとえば、フォームに請求先住所および出荷先住所のセクションが含まれる場合、各セクションのテキスト ボックスは同じラベルで 2 回表示されます。したがって、正しいテキスト ボックスを識別するには、ラベル (「郵便番号」など) とセクション タイトル (「請求先住所」など) の両方をアンカーとして追加する必要があります。

アンカーは、以下に説明するように、いくつかのシナリオで見つかります。

自動で見つかったアンカー

ターゲットを指定すると、それに対するアンカーの自動識別が試行されます。

重要: アンカーが見つからないことが 100% 確実である場合、または重複が見つかった場合、それは自動アンカーと見なされません。
自動アンカーが正常に検出されると、青色で強調表示され、選択オプションのヘルパーによってターゲットとそのアンカーが検出されたことが確認されます。


アンカーの識別方法

このセクションでは、この検索の実行方法についての技術的な詳細を確認できます。

ターゲットを指定すると、指定された UI 要素の種類が識別されます。検索対象は次の要素と方向です。

  • ボタン - 要素の内部。
  • チェックボックス - 要素の右側。
  • ドロップダウン - 要素の左側と上部。
  • 入力ボックス - 要素の左側と上部。ブラウザーの自動化の場合は、入力ボックス内でラベルも検索対象となり、AreaLabeledBy 属性が検索されます。このラベルが識別されない場合、tag=label および for='id of the input box' を持つ要素が検索対象となります。
  • ラジオ ボタン - 要素の右側。
  • 画像 - 要素の右側と下部。

識別された要素の種類に応じて、その要素で対応するアンカーが自動的に検索されます。

自動的に識別されたアンカーは、ターゲット要素の近くに常に存在するテキスト要素の形式であるため、実行時により高い精度で要素を識別するのに使用できます。

上記の方向のいずれにおいても結果が生成されない場合は、汎用のケースが使用され、要素階層で適切なアンカーが検索されます。

アンカーを手動で追加する

アンカーが自動的に検出されず、指定したターゲットに追加されなかった場合、選択オプションのヘルパーによって次のスクリーンショットに示すような通知が表示されます。


この状況では、ターゲット要素にアンカーを手動で選択できます。別の要素上でホバーすると、その要素が青色で強調表示され、選択したターゲットと線で接続されます。希望のアンカーを選択するには、アンカーとして使用するテキストをクリックします。



ホバー メニュー

ターゲット要素上にホバーしたときに表示されるメニューにアクセスして、特定の要素 (ターゲットまたはアンカー) を編集することもできます。このメニューには、次のような複数のオプションがあります。



ボタンをクリックすると、指定するプロセスを閉じて、行った変更を保存します。

ボタンをクリックすると、特定のテキストのコンテンツに関係なく、要素をターゲット指定できます。これは、リストに何が含まれるかはっきりわからないときに、検索のリストの最初の要素を選択しようとしている場合や、さまざまな理由でラベルが変更される動的な要素を操作している場合に役立ちます。ターゲットを指定する際にこの機能を使用すると、あいまいセレクター メソッドのみが識別に使用され、あいまいセレクターが取り除かれて、ラベルの変更に関係なく要素が指定されるようになります。

ボタンをクリックすると、追加のアンカーとして機能する隣接する UI 要素を選択できます。任意のターゲットに対して最大 3 つのアンカーを指定できます。

ボタンをクリックすると [選択オプション] の [ターゲット] セクションが展開され、現在の記述子で使用されるターゲット メソッドを設定できるようになります。

ボタンをクリックすると、指定したターゲットが削除され、別のターゲットを選択できます。

記述子を設定する

オプション

[オプション] セクションを展開すると、次のオプションが表示されます。

  • 変更を自動適用 - オンにすると、ターゲット要素とアンカー要素の変更を自動適用します。
  • レスポンシブ対応の Web サイト - 選択すると、アンカーをターゲットの左から上に、またはターゲットの上から左に移動して、レスポンシブ対応の Web サイトを自動化できます。
  • 要素の可視性 - UI 要素が表示されているかどうかを確認します。ドロップダウン メニューで、次の 3 つのオプションを使用できます。
    • なし - 可視性を確認しません。
    • 対話型 (あいまいセレクター用) - 既定のオプションです。要素が表示される可能性があるかどうかを確認します。確認時、ページをスクロールしないと表示されない、他のアプリで隠れている、アプリケーションが最小化されているという点は無視されます。この確認は、DOM に存在するものの表示されていない非表示の要素をターゲット要素として設定しないようにする場合に便利です。
    • 完全に表示されている - 要素が画面上に表示されていることを確認します。

ウィンドウ セレクター

[ウィンドウ セレクター] セクションを展開して、指定した対象のアプリケーションのセレクターを表示および編集することができます。[UI Explorer で開く] ボタンを使用して、UI Explorer でウィンドウ セレクターを編集することもできます。



ターゲット

ターゲットは、たとえばクリックするボタン、入力を行うテキスト ボックス、またはテキストのコピー元である Web ページの一部など、対話を行う対象の UI 要素です。

UI 要素を見つける内部のプロセスでは、いくつかのターゲット メソッドが使用されます。

これらのターゲット メソッドは互いに冗長です。ランキングが指定され、これに従ってターゲット メソッドが使用されます。 階層では、各ターゲット メソッドのターゲット識別能力および UI の変更に対する回復性が考慮されます。 したがって、UI 要素を見つける順序は次のようになります。
  1. プライマリ ターゲット メソッドはセレクターです。厳密セレクターまたはあいまいセレクター
  2. 第 2 (セカンダリ) のターゲット メソッドは Computer Vision です。
  3. 第 3 (ターシャリ) のターゲット メソッドは画像です (既定では無効化されています)。

設計時は第 1 ターゲット メソッドの横に アイコンが表示され、実行時のシナリオがシミュレートされます。

複数のテクノロジにまたがるターゲット メソッドの既定のプロジェクト設定

以下の表は、複数のテクノロジにまたがるターゲット メソッドの既定のプロジェクト設定を示しています。

ターゲット メソッドデスクトップ アプリケーションWeb ブラウザーJavaSAP
厳密セレクター利用可能利用できません。利用可能利用可能
あいまいセレクター利用可能利用可能利用可能利用できません。
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/次のフルテキスト (使用するテキスト スクレイピング メソッドによる) - スクレイピングしたテキストを表示します。最適なスクレイピング メソッドは自動的に識別され、そのメソッドを使用することをお勧めします。
  • テキストを無視 - 入力ボックスで指定されたテキストが無視されます。

あいまいセレクターを使用したターゲットまたはアンカーの検索が失敗すると、カスタム例外がスローされ、失敗したセレクターを修復するために最も近い一致が表示されます。

The UI element could not be located using the configured Fuzzy selector for Target or Anchor.

'Target' search failed for selector:
	<ctrl name='Use*' role='radio button' /><ctrl name='Use mimi' role='XYZ text' automationid='' />
These are the closest selector matches found:
	[84%] <ctrl name='Use Amount' role='radio button' /><ctrl role='text' automationid='' />
	[83%] <ctrl name='Use Both' role='radio button' /><ctrl role='text' automationid='' />
	[82%] <ctrl name='Use Piece Count' role='radio button' /><ctrl role='text' automationid='' />
	
'Anchor 1' search failed for selector:
	<ctrl name='Configuration' role='text' /><ctrl name='Configuration' role='text' automationid='' check:text='XYZ Config' />
These are the closest selector matches found:
	[78%] <ctrl name='Configuration' role='text' /><ctrl name='Configuration' role='text' automationid='' check:text='Configuration' />
	[64%] <ctrl name='Transaction #:' role='text' /><ctrl name='Transaction #:' role='text' automationid='' check:text='Transaction #:' />
	[63%] <ctrl name='Deposit transaction' role='text' /><ctrl name='Deposit transaction' role='text' automationid='' check:text='Deposit transaction' />
	
'Anchor 2' search failed for selector:
	<ctrl name='Use Both' role='radio button' automationid='' check:fulltext='Use XYZZZZZZ' />
These are the closest selector matches found:
	[83%] <ctrl name='Use Both' role='radio button' automationid='' check:fulltext='Use Both&#xD;&#xA;' />
	[74%] <ctrl name='Use Amount' role='radio button' automationid='' check:fulltext='Use Amount&#xD;&#xA;' />
	[68%] <ctrl name='Use Piece Count' role='radio button' automationid='' check:fulltext='Use Piece Count&#xD;&#xA;' />The UI element could not be located using the configured Fuzzy selector for Target or Anchor.

'Target' search failed for selector:
	<ctrl name='Use*' role='radio button' /><ctrl name='Use mimi' role='XYZ text' automationid='' />
These are the closest selector matches found:
	[84%] <ctrl name='Use Amount' role='radio button' /><ctrl role='text' automationid='' />
	[83%] <ctrl name='Use Both' role='radio button' /><ctrl role='text' automationid='' />
	[82%] <ctrl name='Use Piece Count' role='radio button' /><ctrl role='text' automationid='' />
	
'Anchor 1' search failed for selector:
	<ctrl name='Configuration' role='text' /><ctrl name='Configuration' role='text' automationid='' check:text='XYZ Config' />
These are the closest selector matches found:
	[78%] <ctrl name='Configuration' role='text' /><ctrl name='Configuration' role='text' automationid='' check:text='Configuration' />
	[64%] <ctrl name='Transaction #:' role='text' /><ctrl name='Transaction #:' role='text' automationid='' check:text='Transaction #:' />
	[63%] <ctrl name='Deposit transaction' role='text' /><ctrl name='Deposit transaction' role='text' automationid='' check:text='Deposit transaction' />
	
'Anchor 2' search failed for selector:
	<ctrl name='Use Both' role='radio button' automationid='' check:fulltext='Use XYZZZZZZ' />
These are the closest selector matches found:
	[83%] <ctrl name='Use Both' role='radio button' automationid='' check:fulltext='Use Both&#xD;&#xA;' />
	[74%] <ctrl name='Use Amount' role='radio button' automationid='' check:fulltext='Use Amount&#xD;&#xA;' />
	[68%] <ctrl name='Use Piece Count' role='radio button' automationid='' check:fulltext='Use Piece Count&#xD;&#xA;' />

セレクター ノードを追加または削除して既定のセレクターを変更した後や、一致が複数あるためにターゲットやアンカーの検索が失敗した場合は、最も近い一致は表示されません。

セレクターについて詳しくは、『Studio ガイド』をご覧ください。

Computer Vision

Computer Vision は、UiPath のロボットがコンピューター画面上のすべての UI 要素を認識および理解できるようにする AI 搭載エンジンです。Computer Vision によりターゲットの設定が強化されます。ドライバーで「認識」できない UI 要素があっても、Computer Vision で UI 操作の自動化を実現できます。したがって、UI ベースのオートメーションの変更に対する信頼性と回復性が向上するとともに、他のターゲット メソッドの強力な代替機能になります。

Computer Vision は、Windows 用のデスクトップ版の Studio、クロスプラットフォーム プロジェクト、Studio Web のいずれであっても幅広く利用できます。

ターゲット メソッドとして Computer Vision を使用するには、[プロジェクト設定] > [Computer Vision] に移動し、正しいサーバー エンドポイントを設定する必要があります。このフィールドはそのままにして、既定で入力されている「UiPath Cloud」を使用するか、他のパブリック エンドポイントを選択して別の値を入力できます。別の値を入力する場合、サーバー リージョンまたは独自のオンプレミス サーバー専用のエンドポイントを選択します。

Computer Vision をターゲット メソッドとして使用するもう 1 つの方法は、[ローカル サーバーを使用][True] に設定することです。これは、UiPath.ComputerVision.LocalServer パッケージがプロジェクトにインストールされていることを意味します。ローカル サーバーが有効な場合、サーバーの値は上書きされます。ただし、ローカル サーバーはクロスプラットフォーム プロジェクトでは利用できません。

画像

ターゲット メソッドは、アイコンやボタンなど、要素を識別するアプリケーション ウィンドウ内の画像です。

ターゲットに画像の自動化が使用されている場合は、要素のスクリーンショットを表示することも、画像の精度を調整することもできます。既定値は 0.8 です。[精度] スライダーから設定することも、有効な値を入力フィールドに直接入力して設定することもできます。精度は 0.4 から 1 の範囲内で設定できます。詳しくは、「画像とテキストの自動化」セクションをご覧ください。

画像のみのターゲットを定義したい場合は、[画像領域の選択] (F3) を使用するか、指定時にターゲット/アンカーとして使用する領域を四角で囲んで選択します。



要素を指定した後に要素の画像が変更された場合、[更新] ボタンを使用して、選択した画像を手動で更新することもできます。

画像ターゲット メソッドは、[プロジェクト設定] で既定で無効化されています。

プロジェクト レベルで有効化するには、[プロジェクト設定] > [UI Automation モダン] > [ターゲット メソッド - デスクトップ アプリケーション] / [ターゲット メソッド - Web ブラウザー] / [ターゲット メソッド - Java] / [ターゲット メソッド - SAP] (自動化するアプリケーションの種類に応じて) > [画像] > [True] を選択します。

指定した要素に対してこのメソッドを有効化するには、その要素が有効である必要があります。

ネイティブ テキスト

要素を指定する際に [ネイティブ テキストを有効化] チェックボックスをオンにした場合、ネイティブ テキストのターゲット メソッドが使用されます。このメソッドでは、操作する要素を識別するために、ネイティブ メソッドで識別されたテキスト ラベルすべてを使用できます。

このメソッドで識別されたテキスト ラベルは、専用のセクションから編集できます。また、大文字と小文字の切り替えボタンを使用して、テキストで大文字と小文字を区別するかどうかを指定できます。



オフライン編集

アプリケーションが現在開かれていないが、その記述子を編集したい場合は、アクティビティの本体のコンテキスト メニューから [ターゲットを編集] を選択すると、[リトライ][オフラインで編集]、または [キャンセル] を求めるメッセージが表示されます。

[オフラインで編集] オプションを選択すると、オフライン編集モードで選択画面が開きます。 オフライン編集モードでは、アンカーの追加、記述子の検証、またはライブ アプリケーションを必要とするその他の機能は実行できません。

[今後表示しない] チェックボックスをオンにすると、次回ターゲットを編集するときに選択画面が直接開きます。

記述子を検証する

検証プロセスでは、選択したすべてのメソッドとアンカーを使用してターゲットをチェックすることによって、現在の選択がターゲットの識別にどの程度効果的であるかをチェックできます。[選択] 画面で [検証 ] ボタンを使用して、選択内容を検証できます。 検証の結果は、[選択オプション] ウィンドウの上部に表示されます。調整が必要な場合は、選択内容を改善する方法を示すメッセージが表示されます。

ターゲットとアンカーのペアがある場合、それぞれのペアが、利用可能なターゲット メソッドすべてを使用します。最終的なターゲットを見つけるために、これらの各要素について考えられるすべての組み合わせが、画面上の要素に対して照合され、照合後にスコアが計算されます。

検証の実行後、重複が見つかった場合は、ターゲット アプリケーション内で強調表示されます。重複が見つからなかった場合は、ターゲット メソッドの横にアイコンが表示され、特定の状況における各ターゲット メソッドのステートが通知されます。

各メソッドのパフォーマンスは、次のいずれかのアイコンを使用して [選択オプション] ウィンドウの [設定] セクションに表示されます。

- 要素を最も早く識別できたターゲット メソッド。

- 要素を識別できたものの、最速ではなかったメソッド。

- メソッドで重複が検出され、このメソッドを他のターゲット メソッドと共に使用することで、正しい要素が識別されました。

- メソッドで重複が検出され、このメソッドを使用することで正しい要素を識別できませんでした。

- メソッドは要素の識別に失敗しました。

このページは役に立ちましたか?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
Uipath Logo White
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.