レコーダー パッケージが使用する検索条件

レコーダー パッケージを使用してユーザー インターフェイス (UI) コントロールを記録すると、プロパティのセットがキャプチャされます。これらのプロパティは、実行時に記録された UI コントロールを識別し、それらを操作するために使用されます。

レコーダーを使用してキャプチャしたコントロールは、オブジェクトと呼ばれます。レコーダーは、オブジェクトをキャプチャする際に、オブジェクトを一意に識別できるすべてのプロパティをキャプチャします。選択されたプロパティは、実行時にターゲット アプリケーションからコントロールを検索して特定するための「検索条件」として使用されます。

Bot の実行中、レコーダーはターゲット アプリケーションのコントロール ツリーを経由し、保存されたプロパティ (検索条件とも呼ばれる) に一致するコントロールを選択します。

デフォルトでは、レコーダーは技術に基づいて記録されたコントロールに最適な検索条件を選択します。ただし、Bot が以前に記録された UI コントロールを見つけようとすると、問題が発生する場合があります。このような障害については、一般的に次のような理由があります (ただし、これらに限定されません)。

  • 動的プロパティ: キャプチャされた要素のプロパティがセッションやページのロードごとに変化し、検索条件にいずれかの動的プロパティが含まれている場合、Bot は実行時に失敗する可能性があります。
  • UI の頻繁な変更: ターゲット アプリケーションが UI の変更によって頻繁に更新され、記録された UI コントロールのプロパティが変更された場合、記録されたコントロールを認識しようとするときに Bot に問題が発生する可能性があります。
  • プロパティが重複するコントロール: 同じプロパティを持つコントロールが複数ある場合、意図しない結果になる場合や、Bot がコントロールを認識できない場合があります。

このような状況で、Bot がレコーダーによってキャプチャされたデフォルトの検索条件のみに依存している場合、それらの Bot はキャプチャされたコントロールを認識することが困難になる可能性があります。キャプチャされた検索条件は、条件に一致するオブジェクトが他にないか、オブジェクト自体が定期的に更新されない限り、一貫して機能します。このため、UI コントロールを記録した後は、これらの要因を考慮し、Bot の実行時に記録されたコントロールを Bot が一意に識別できる検索条件を設定する必要があります。

HTML テクノロジーの検索および検証プロパティ

検索条件は、検索オブジェクト プロパティと検証プロパティの組み合わせです。

オブジェクトのプロパティを検索する: これらのプロパティは、HTML ページからオブジェクトを特定するために使用されます。以下のプロパティは、オブジェクトの検索に使用されます。
  • HTML クラス
  • HTML ID
  • HTML 名
  • HTML FrameSrc
  • HTML タグ
  • HTML タイプ
  • HTML InnerText
  • HTML FramePath
  • DOMXPath
  • パス
  • HTML HasFrame
  • FrameDOMXPath
検証プロパティ: これらのプロパティは、オブジェクトの特定後にのみ検証されます。検証には以下のプロパティが使用されます。
  • HTML クラス
  • HTML の高さ
  • HTML HRef
  • HTML ID
  • HTML 左
  • HTML 名
  • HTML 親
  • HTML SourceIndex
  • HTML タグ
  • HTML タイトル
  • HTML トップ
  • HTML タイプ
  • HTML 値
  • HTML 幅
  • HTML InnerText
  • InnerHTML
  • OuterHTML
  • IsVisible

動的プロパティとカスタム検索条件の使用例

記録しようとしている Web ページのあるプロパティが、セッションごとに変化するとします。変化するプロパティを含めると、Bot はコントロールを認識できなくなります。たとえば、次のビデオにあるログイン ページのサンプルを見てみましょう。[ログイン] ボタンの ID プロパティは、ページがロードされるたびに変更されます。

ページに [ログイン] ボタンを記録すると、レコーダーはデフォルトのプロパティの 1 つとして ID をキャプチャします。


動的オブジェクト プロパティの例

検索条件を更新せずに Bot を実行すると、ページがロードされるたびに [ログイン] ボタンの ID が変更され続けるため、Bot は実行中に失敗します。

検索条件エラー

ID プロパティが変化し続けるため、Bot は以前キャプチャした ID を持つ [ログイン] ボタンを見つけることができないため、失敗します。このため、このシナリオで ID プロパティを使用しても、機能しません。この問題は、次のビデオで示されているように、ID プロパティをクリアし、innerHTML プロパティを選択することで簡単に解決できます。この方法により、Bot は ID が btn1696911842030-8845 のコントロールを探さなくなります。代わりに、DOMXPathinnerHTML プロパティの組み合わせに依存して、コントロールを一意に識別します。

HTML でオブジェクトのプロパティを変更する際の注意点

レコーダー パッケージを使用して UI コントロールをキャプチャする場合は、以下の要素を考慮してください。
  • 記録する予定の Web ページに動的プロパティがある場合、記録したオブジェクト プロパティからそれらのプロパティを省略します。代わりに、実行中に変更されないプロパティを選択します。
  • 同じプロパティを持つ UI コントロールが複数ある場合、特定のUI コントロールを一意に識別できるプロパティを選択します。たとえば、ボタン タイプを持つ複数のボタンがあり、innerHTML テキスト (ボタン ラベル) が各ボタンで異なる場合、innerHTML をプロパティの 1 つとして使用すると、実行時にコントロールを識別することができます。
  • レイアウトの変更に対応する動的または相対的 DOMXPath を使用します。レイアウトが変更されたり、動的コントロールが UI に追加されたりする場合は、静的 DOMXPath は使用しないでください。
  • プロパティ値の特定の文字が動的な場合は、ワイルドカード (*) を使用します。