studio
2024.10
true
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。
UiPath logo, featuring letters U and I in white

Studio ガイド

最終更新日時 2024年12月19日

オブジェクト リポジトリを作成する

重要: オブジェクト リポジトリは、モダン デザイン エクスペリエンスが有効化されたプロジェクトの UiPath.UIAutomation.Activities パッケージまたは MobileAutomation.Activities パッケージの v20.10 以降で機能します。

オブジェクト リポジトリは、以下から収集した要素をアプリケーション、バージョン、画面ごとにグループ化したものです。

  • ローカル プロジェクト、すなわちローカル リポジトリ。
  • ライブラリ、すなわち現在のプロジェクトに対する UI ライブラリの依存関係。

ローカル リポジトリは、以下のいずれかの方法で作成できます。

  • 要素をキャプチャ」レコーダーを使用して UI の説明をキャプチャします。
  • [オブジェクト リポジトリ] パネルで直接、アプリケーション、画面、要素を手動で作成します。

UI ライブラリは以下の方法で作成できます。

  • 任意のプロジェクトからライブラリ プロジェクトにローカル リポジトリを抽出し、NuGet パッケージとしてパブリッシュします。
  • 新しいライブラリから開始し、そこでリポジトリを構築し、NuGet パッケージとしてパブリッシュします。

    その後、UI ライブラリの NuGet パッケージを使用し、依存関係としてプロセスに追加することができます。

    重要:要素をキャプチャ」レコーダーでは、プロジェクト内で再利用するためにオブジェクトが記録されるだけであり、[デザイナー] パネル内にワークフローが生成されることはありません。

要素をキャプチャしてリポジトリを作成する

ライブラリまたはプロセスで、オブジェクト リポジトリ[要素をキャプチャ] ボタンをクリックして、「要素をキャプチャ」レコーダーを開きます。



[記録を開始] をクリックして、要素のキャプチャを開始します。「要素をキャプチャ」レコーダーは、UIAutomation.Activities パッケージ (v20.10 以降) で利用できる統合ターゲット技術を利用して、セレクター、画像、アンカーのそれぞれに対してある一定の精度でターゲットとアンカーをキャプチャします。



UI 要素はセレクター、あいまいセレクター、画像とともにキャプチャされ、それぞれにある程度の精度が確保されます。これらのターゲット要素を 1 つだけ維持するか、すべて維持するかを選択できます。同じことが、アプリケーション内の各 UI 要素に関連するアンカー要素にも当てはまります。

レコーダーでは、以下を実行できます。

  • [アプリケーションを追加] または [画面を追加] をクリックして、新しいアプリケーションまたは画面を追加します。
  • [一時停止] docs image をクリックして、いつでも記録を一時停止できます。記録を再開するには、[記録] docs image を再びクリックします。
  • 記録された要素を管理します。

    • 左側のパネルで選択し、右側の [プロパティ] パネルで編集して、画面または要素のプロパティを更新します。
    • 左側のパネルでドラッグ アンド ドロップして、要素を並べ替えたり、グループ化します。
    • [要素をキャプチャ] ウィンドウで docs image ボタンを使用してキャプチャ済みの要素名の上にカーソルを合わせて強調表示し、要素を簡単に見つけることができます。
    • レコーディングが一時停止しているときに、以下を行うことができます。

      • 右クリックして [削除] を選択して、要素を削除します。
      • 既存の要素を右クリックし、[要素を作成] を選択して、画面または要素の子として新しい要素を作成します。
    • 必要に応じて、[設定] docs image をクリックして、各要素を設定するか、変更を自動適用するかを選択します (どちらの設定も、既定で有効化されています)。
  • [オブジェクトをライブラリに保存] docs image をクリックして変更内容を保存し、レコーダーを閉じて、プロジェクトに戻ります。

すべての要素をキャプチャ

[すべての要素をキャプチャ] 機能では、Computer Vision テクノロジを使用し、アプリケーションの利用可能なすべての要素をキャプチャして、オブジェクト リポジトリに追加することができます。この方法は、オートメーションでオブジェクト リポジトリの使用が欠かせない場合に便利です。すべての UI 要素を手動で追加しなくても済むようになり、プロセスの作成時に時間を節約できるからです。

  1. 要素をキャプチャ ウィザードで [すべての要素をキャプチャ] ボタンをクリックします。オブジェクト リポジトリに追加する要素を含むウィンドウを指定するよう求められます。要素をキャプチャする領域の四角形をクリックしてドラッグすることで、対象のアプリケーションの領域のみを選択することもできます。
  2. アプリケーションを指定すると、すべての要素が検出され緑で強調表示されます。オブジェクト リポジトリに追加しない要素を手動で選択解除することもできます。[スキャン ウィザード] ウィンドウでは、該当のボタンを使用して、要素を [すべて選択] するか [すべて選択解除] するかを選択できます。[テキストをキャプチャ] チェックボックスをオンにすると、テキスト要素もキャプチャされます。選択が完了したら、[キャプチャ] をクリックしてスキャン ウィザードを閉じ、[要素をキャプチャ] ウィンドウに戻ります。

    識別されない要素がある場合は、分析のために UiPath に画像を送信して検出機能の向上にご協力ください。[問題を報告] をクリックし、識別されない要素がある領域を選択して [送信] を選択します。



    注:

    この機能を利用するには、使用する Computer Vision サーバーを設定しておく必要があります。以下のいずれかのサーバーを使用できます。

    使用するサーバーの種類を選択したら、サーバーAPI キープロジェクト設定を編集して、その種類のサーバーを現在のプロジェクトで使用するよう指定する必要があります。

記述子のプロパティ

オブジェクト リポジトリ内で認識しやすくなるよう、「要素をキャプチャ」レコーダーで、アプリケーション、画面、および要素に、それらの内容が分かるような名前を付ける必要があります。

要素の種類

アプリケーション内のセレクターは、ボタン、チェックボックス、テキスト フィールド、トグル、リスト ボックスなど、ロボットと対話可能なあらゆる種類の要素を表すことができます。キャプチャ済みの要素は「要素をキャプチャ」レコーダーで定義できます。

[種類] ドロップダウン リストから、各要素に適した種類を検索して選択することができます。オブジェクト リポジトリ内では、要素に種類別のアイコンが付けられるため、オブジェクトを区別しやすくなります。



要素をキャプチャした後で、[オブジェクトをライブラリに保存] ボタンをクリックすると、オブジェクトがオブジェクト リポジトリに追加されます。 要素を追加するには、リポジトリ内の画面または要素を右クリックし、[要素を作成] を選択します。画面を追加するには、アプリケーションを右クリックし、[画面を作成] を選択します。



既存のアプリケーションと画面に [要素をキャプチャ] を使用する

必要な要素をすべてキャプチャする前にレコーダーを終了した場合、またはオブジェクト リポジトリに既に追加されているアプリケーションまたは画面に対して、[要素をキャプチャ] を使用して要素を追加または変更する場合、そのアプリケーションまたは画面のコンテキストでいつでもレコーダーを起動できます。

  1. [プロジェクト UI 記述子] の下の任意のアプリケーションまたは画面を右クリックして、[要素をキャプチャ] を選択します。そのアプリケーションまたは画面のコンテキストで、[要素をキャプチャ] ウィンドウが開きます。

    • アプリケーションを選択した場合、そのアプリケーションのすべての画面と要素が [要素をキャプチャ] にあらかじめ入力されます。
    • 画面を選択した場合、その画面のすべての要素が [要素をキャプチャ] にあらかじめ入力されます。
  2. 必要に応じて、画面と要素を更新します。新しい画面を追加したり、記録を開始して新しい要素を追加したり、既存の画面や要素を編集または削除できます。既存の画面や要素に変更を加えると、変更は保存時にオブジェクト リポジトリの記述子に適用されます。
  3. [オブジェクトをライブラリに保存] docs image をクリックして変更内容を保存し、レコーダーを閉じて、プロジェクトに戻ります。

オブジェクト リポジトリ パネルからリポジトリを作成する

[オブジェクト リポジトリ] パネル内でアプリケーション、各画面、要素を手動で定義することにより、独自のリポジトリを作成できます。

UI アプリケーションを作成する

[オブジェクト リポジトリ] パネルの [記述子] タブのプラス記号をクリックするか、同じタブのプロジェクト記述子を右クリックして [アプリケーションを作成] を選択します。[アプリケーションを作成] ウィンドウが表示されます。



一意のアプリケーション名、バージョン、説明を入力します。[アプリケーションを作成] をクリックします。アプリケーションが、[記述子] タブの [プロジェクト UI 記述子] の下に表示されます。

画面を作成する

[記述子] タブでアプリケーションを選択してプラス記号をクリックするか、アプリケーションを右クリックして [画面を作成] を選択します。[画面を追加] ウィンドウが表示されます。



画面の一意の名前、および説明を追加します。自動化する画面を指定し、キャプチャした要素を統合ターゲットで編集します。

  • 必要に応じて、アプリケーション パスを変更します。
  • アプリケーション引数を追加します。

    完了したら、[画面を作成] をクリックします。

UI 要素を作成する

[記述子] タブでアプリ画面を選択してプラス記号をクリックするか、画面を右クリックして [要素を作成] を選択します。[要素を追加] ウィンドウが表示されます。



[記述子の種類] セクションで、[要素を指定] をクリックします。統合ターゲットを使用して画面から要素を指定し、キャプチャします。

直観的に理解できる名前を [要素名] フィールドに追加し、[種類] ドロップダウン リストから要素の種類を選択します完了したら [保存] をクリックします。



注:
  • オブジェクト リポジトリで要素を編集するには、対象の要素を右クリックして [要素を編集] を選択するか、ツリー内の要素をダブルクリックします。
  • 要素の記述子を編集するには、[要素を編集] ウィンドウの [記述子を編集] オプションを使用するか、ツリー内の要素を右クリックして [記述子を編集] を選択します。

レコーダーでオブジェクト リポジトリを使用する

オブジェクト リポジトリが (「オブジェクト リポジトリについて」ページの説明に従って) Studio のインスタンスに適用される場合は、アプリ/Web レコーダーの使用時に、生成されたアクティビティによりリポジトリの記述子が自動的に参照されることはありません。

アクティビティのレベルで、オブジェクト リポジトリに記述子を追加するか既存の記述子を使用するよう、情報提供用のツールチップで通知されます。



そのためには、アクティビティ内でアイコンをクリックして、記述子を追加または再利用するための手順を実行します。あるいは、[オプション] > [オブジェクト リポジトリに追加] の順に選択してオブジェクト リポジトリに要素を追加します。



要素をアクティビティからリポジトリに追加する

オブジェクト リポジトリを作成した後は、[デザイナー] パネルから直接 UI 要素を追加できます。

[デザイナー] パネルでは、[クリック][文字を入力] など、セレクターをサポートするアクティビティを追加します。追加したアクティビティが [アプリケーション/ブラウザーを使用] アクティビティ内にあることを確認してください。

アクティビティの本体内で、オブジェクト リポジトリ アイコンをクリックして [選択オプション] ウィンドウを開きます。要素をキャプチャし、[確認] を選択すると、[要素をオブジェクト リポジトリに追加] ウィンドウが開きます。要素に名前を追加し、[保存] をクリックします。[オブジェクト リポジトリ] パネルに要素が追加されます。



現在のプロジェクトでオブジェクトを使用する

オブジェクト リポジトリから、画面または要素をワークフロー内のアクティビティの上部にドラッグ アンド ドロップします。オブジェクトの画像、引数、その他詳細が自動的にアクティビティに追加されます。あるアクティビティがオブジェクト リポジトリの画面または要素を使用しているときは、アクティビティ内でオブジェクト リポジトリのアイコンをクリックすると、オブジェクト リポジトリ ツリーで使用されている記述子が強調表示されます。
大事な: ワークフローが Git などのバージョン管理システムに接続されている場合、オブジェクト リポジトリ内のオブジェクトに対して行われた更新は、バージョン管理の観点からは [オブジェクト リポジトリ] パネルに変更されたものとしてのみ表示されます。 更新されたオブジェクトを使用するすべてのワークフローは、変更されたコンテンツ (セレクターやターゲット メソッドなど) を実行時に自動的に参照し、更新されたオブジェクトとのシームレスな操作を保証します。 ただし、オブジェクト リポジトリから継承された特定のプロパティ (スクリーンショットやその他のアクティビティ関連の情報プロパティなど) は、各ワークフローを手動で開いて保存するまで、ワークフロー ファイル内で更新されません。

この手動更新は、設計時の変更をバージョン管理システムに反映させるために必要ですが、ワークフローでは更新されたオブジェクト コンテンツが引き続き使用されるため、実行時の動作や機能には影響しません。 この制限はバージョン管理にのみ影響します。アクティビティの一部のプロパティはワークフロー ファイルに埋め込まれており、自動的には更新されないためです。

以下は、[アプリケーション/ブラウザーを使用] アクティビティの上部に MyAppScreen オブジェクトをドラッグした例です。アプリケーション パスがアクティビティに自動的に追加されています。


あるいは、ワークフロー内のプラス記号の上にオブジェクトをドラッグ アンド ドロップします。画面をドラッグ アンド ドロップすると、[アプリケーション/ブラウザーを使用] アクティビティが自動的に追加されます。要素をドラッグ アンド ドロップすると、使用できるアクティビティのリストが表示されます。目的のアクティビティを選択すると、オブジェクトが自動的に追加されます。プロセス内で、アクティビティはアクティビティ名 + オブジェクト名のラベルを受け取ります。オブジェクトが追加された後、アクティビティは、そのアクティビティの [プロパティ] パネルに表示される記述子のプロパティをオブジェクト リポジトリから受け取ります。

  • アクティビティから記述子を編集または指定するには、[オプション] docs image を選択してから [画面上でターゲットを指定] または [ターゲットを編集] を選択します。オブジェクト リポジトリの記述子に対してアクションが実行されることを示すダイアログが表示されます。[記述子を指定] および [記述子を編集] をそれぞれ選択して、選択内容を確定します。
  • 現在のアクティビティの記述子のみを指定または編集するには、[オプション] を選択してから [オブジェクト リポジトリへのリンクを解除] を選択して、まずアクティビティとオブジェクト リポジトリの間のリンクを削除する必要があります。オブジェクト リポジトリが適用されている場合、リンクを解除することによってターゲットがアクティビティから削除されることに注意してください。



オブジェクトがワークフローに追加されると、[オブジェクト リポジトリ] パネルの [UI アクティビティ] タブに、アクティビティとそれに含まれるオブジェクトが階層順に表示されます。表示されない場合は、プロジェクトを保存し、再度確認してください。

ワークフローは次のようにマークされます。

  • ワークフロー ファイル内の少なくとも 1 つのアクティビティが [オブジェクト] パネルの UI 記述子を参照している場合は、グレーのドット
  • ワークフローのすべてのアクティビティが [オブジェクト] パネルの UI 記述子を参照している場合は青のドット

UI アクティビティは、次のようにマークされます。

  • ワークフローのアクティビティが [オブジェクト] パネルの UI 記述子を参照していない場合は白のドット
  • アクティビティが [オブジェクト] パネルの UI 記述子を参照している場合は青のドット

UI Automation を使用して、コード化されたオートメーションでオブジェクトを使用する

UI Automation API を使用する場合、UI 要素にアクセスするには、主に次の 2 つの方法があります。
  1. UI 要素を文字列として呼び出す。
  2. オブジェクト リポジトリの IElementDescriptors を使用する。
1. UI 要素を文字列として呼び出す
  1. プロジェクトのオブジェクト リポジトリで MyApplication という名前のアプリケーションを作成します。
    1. MainScreen というアプリケーションの画面を作成します。
    2. HomePageIcon という名前の要素を作成します。
  2. 画面の変数を作成します。
  3. OpenAPI を使用し、以下のコードを使用して画面を開きます。
    var screen = uiAutomation.Open("MainScreen");var screen = uiAutomation.Open("MainScreen");
    名前空間 ObjectRepositoryDescriptors を検索するには、キーボードの CTRL + space キーを押します。
  4. 以下のコードを使用し、UI 要素に対して Click API を使用します。
    screen.Click("HomePageIcon");screen.Click("HomePageIcon");
2. UI 要素を IElementDescriptor として呼び出す
オブジェクトを IElementDescriptors として呼び出す場合は、ObjectRepository.Descriptors.<ApplicationName>.<ScreenName>.<UiElementName> の形式を使用します。ここでの ObjectRepositoryDescriptors クラスを統合する名前空間です。さらに、Descriptors クラスには、オブジェクト リポジトリでキャプチャしたすべての UI 要素が含まれます。
注: オブジェクト リポジトリではアプリケーションの名前として Object を使用しないことをお勧めします。
  1. プロジェクトのオブジェクト リポジトリで MyApplication という名前のアプリケーションを作成します。
    1. MainScreen というアプリケーションの画面を作成します。
    2. HomePageIcon という名前の要素を作成します。
  2. 読みやすくするために、アプリケーションを変数として定義し、ワークフローの先頭に using ステートメントを適用できます。例: using app = <ProjectName>.ObjectRepository.Descriptors.<AppName>.
    この方法では、app.<ScreenName>.<UiElementName> 形式で記述子を簡単に呼び出すことができます。
  3. 画面の変数を作成します。
  4. OpenAPI を使用し、以下のコードを使用して画面を開きます。
    var screen = uiAutomation.Open(ObjectRepository.Descriptors.MyApplication.MainScreen);var screen = uiAutomation.Open(ObjectRepository.Descriptors.MyApplication.MainScreen);
    名前空間 ObjectRepositoryDescriptors を検索するには、キーボードの CTRL + space キーを押します。
  5. 以下のコードを使用し、UI 要素に対して Click API を使用します。
    screen.Click(ObjectRepository.Descriptors.MyApplication.MainScreen.HomePageIcon);screen.Click(ObjectRepository.Descriptors.MyApplication.MainScreen.HomePageIcon);


  6. インポートしたライブラリ プロジェクトから取得したオブジェクト リポジトリの要素を使用する場合は、次の手順を実行します。
    1. ライブラリのエクスポート元のプロジェクトで、新しいコード化されたテスト ケースまたはコード化されたワークフロー ファイルを作成します。
    2. UiPath.CodedWorkflows パッケージを最新バージョンに更新します。
    3. インポートしたオブジェクト リポジトリの要素を使用するファイルの名前空間セクションで、次の形式を使用して、それらの要素のエクスポート元のプロジェクトを参照します。<ProjectName> = <LibraryName>.ObjectRepository.Descriptors
    4. Click や Open などの API を使用する場合は、次の形式で UI 要素を呼び出します。
      screen.Click(<LibraryName>.ObjectRepository.Descriptors.MyApplication.MainScreen.HomePageIcon);screen.Click(<LibraryName>.ObjectRepository.Descriptors.MyApplication.MainScreen.HomePageIcon);

モバイル オートメーションを使用して、コード化されたオートメーションでオブジェクトを使用する

モバイル オートメーション API を使用する場合、オブジェクト リポジトリを介して UI 要素にアクセスするには、主に次の 2 つの方法があります。

  1. ObjectRepository 名前空間と Descriptors クラスの IScreenDescriptorsIElementDescriptors を使用します。
  2. オブジェクト リポジトリで画面を基準にした相対パスを使用します。複数のアプリケーションまたは複数の画面がある場合は、メソッド呼び出しで指定する必要があります。
1. Descriptors クラスの IElementDescriptors を使用する
オブジェクトを IElementDescriptors として呼び出す場合は、ObjectRepository.Descriptors.<ApplicationName>.<ScreenName>.<UiElementName> の形式を使用します。ここでの ObjectRepositoryDescriptors クラスを統合する名前空間です。さらに、Descriptors クラスには、オブジェクト リポジトリでキャプチャしたすべての UI 要素が含まれます。
注: オブジェクト リポジトリではアプリケーションの名前として Object を使用しないことをお勧めします。
  1. プロジェクトのオブジェクト リポジトリで MyApplication という名前のアプリケーションを作成します。
    1. HomeScreen というアプリケーションの画面を作成します。
    2. ParentElement という名前の要素を作成します。
    3. ParentElement の下に入れ子にして、ChildElement という名前の要素を作成します。
  2. 読みやすくするために、アプリケーションを変数として定義し、ワークフローの先頭に using ステートメントを適用できます。例: using app = <ProjectName>.ObjectRepository.Descriptors.<AppName>.
    この方法では、app.<ScreenName>.<UiElementName> 形式で記述子を簡単に呼び出すことができます。
  3. モバイル デバイスと、オブジェクト リポジトリに記録されているアプリケーション間のコネクションを作成します。
  4. そのコネクションに対して Tap API を呼び出し、以下のコードを使用して ChildElement 要素をクリックします。
    connection.Tap(Descriptors.MyApplication.HomeScreen.ParentElement.ChildElement);connection.Tap(Descriptors.MyApplication.HomeScreen.ParentElement.ChildElement);
    名前空間 ObjectRepositoryDescriptors を検索するには、キーボードの CTRL + space キーを押します。
  5. 以下のコードを使用し、ParentElement に対して GetAttribute API を使用します。
    var isChecked = connection.GetAttribute(Descriptors.MyApplication.HomeScreen.ParentElement, Attributes.Android.CHECKED);var isChecked = connection.GetAttribute(Descriptors.MyApplication.HomeScreen.ParentElement, Attributes.Android.CHECKED);
  6. インポートしたライブラリ プロジェクトから取得したオブジェクト リポジトリの要素を使用する場合は、次の手順を実行します。
    1. ライブラリのエクスポート元のプロジェクトで、新しいコード化されたテスト ケースまたはコード化されたワークフロー ファイルを作成します。
    2. UiPath.CodedWorkflows パッケージを最新バージョンに更新します。
    3. インポートしたオブジェクト リポジトリの要素を使用するファイルの名前空間セクションで、次の形式を使用して、それらの要素のエクスポート元のプロジェクトを参照します。<ProjectName> = <LibraryName>.ObjectRepository.Descriptors
    4. API を使用する場合は、次の形式で UI 要素を呼び出します。
      connection.Tap(<LibraryName>.ObjectRepository.Descriptors.MyApplication.HomeScreen.ParentElement.ChildElement);connection.Tap(<LibraryName>.ObjectRepository.Descriptors.MyApplication.HomeScreen.ParentElement.ChildElement);
2. オブジェクト リポジトリで画面を基準とした相対パスを使用する
オブジェクト リポジトリで画面を基準とした相対パスを使用すると、Strings を使ってオブジェクト リポジトリの要素にアクセスできます。パスは、モバイル画面上の要素階層の文字列表現です。また、すべての要素に対して対象のアプリケーションと画面を指定できるため、リポジトリ内で名前が重複している記述子にもアクセスできます。
これらのターゲットは、使用する画面とアプリを基準とした UI 要素の相対パスを受け取る MobileTarget.FromObjectRepository コンストラクターを使用して作成されます。このコンストラクターの戻り値は ObjectRepositoryTarget です。

オブジェクト リポジトリで UI 要素のパスを指定するには、以下の 2 つの方法があります。

  1. "parentOfparent///parent///child" などの形式で親子関係として配置された Strings を使用します。
    たとえば、次のコードを見てみましょう。このコードでは、現在のアプリの現在の画面にある、ParentElement の子である ChildElement というモバイル ターゲット要素をタップします。
    connection.Tap(MobileTarget.FromObjectRepository("ParentElement///ChilElement"));connection.Tap(MobileTarget.FromObjectRepository("ParentElement///ChilElement"));
    同じ例を見てみましょう。ただし今回は、同じ CheckedOnlyCheckBox 要素をタップしますが、現在は別のアプリ (anotherApp) の別の画面 (anotherScreen) 上にあります。
    connection.Tap(MobileTarget.FromObjectRepository("ParentElement///ChildElement", "anotherApp", "anotherScreen");connection.Tap(MobileTarget.FromObjectRepository("ParentElement///ChildElement", "anotherApp", "anotherScreen");
  2. ["parentOfParent", "parent", "child"] などの形式で親子関係として配置された Strings の配列を使用します。
    たとえば、以下のコードを見てみましょう。このコードでは、同じ UI 要素をタップしますが、配列内に配置された個別の文字列にパスを入力します。
    connection.Tap(MobileTarget.FromObjectRepository(new string[]{"ParentElement", "ChildElement"}));connection.Tap(MobileTarget.FromObjectRepository(new string[]{"ParentElement", "ChildElement"}));
    メソッド呼び出しに別の画面またはアプリを指定する場合も、同じ例を使用できます。
    connection.Tap(MobileTarget.FromObjectRepository(new string[]{"ParentElement", "ChildElement"}, "anotherApp", "anotherScreen"));connection.Tap(MobileTarget.FromObjectRepository(new string[]{"ParentElement", "ChildElement"}, "anotherApp", "anotherScreen"));

記述子を編集する

要素記述子

記述子はオブジェクト リポジトリから、「オンライン編集」あるいは「オフライン編集」のいずれかの方法で編集できます。

  • オンライン編集 - 現在のマシン上でアプリケーションまたはブラウザーにアクセスできる場合。アプリケーション/ブラウザーが画面上に表示され、要素を再度選択したり、変更したりできます。
  • オフライン編集 - アプリケーションがインストールされていないか、マシンがオフラインになっているため、現在のマシンではアプリケーション/ブラウザーにアクセスできない場合。要素のセレクターが表示され、要素を変更することができます。

    注: 記述子のセレクターとあいまいセレクターはどちらも、UI Explorerdocs image ボタンを使用して直接編集できます。

オンライン編集

[記述子] タブで、要素を右クリックし、[記述子を編集] を選択します。選択画面が開き、別の要素をキャプチャしたり、セレクターやアンカーを編集したりできます。



[要素を編集] ウィンドウの [記述子を編集] ボタンをクリックしても、同じことができます。



注: アクティビティがそうした UI 記述子を参照している場合、[オブジェクト リポジトリ] パネルで UI 記述子が解決されます。

オフライン編集

オンライン編集と同じ手順が、ここでも適用されます。[記述子] タブで、要素を右クリックし、[記述子を編集] を選択します。

オフライン編集では、要素記述子の設定を直接変更することができます。ただし、新しい要素を指定することはできません。新しい要素を指定するには、アプリケーション/ブラウザーが正しいステートにあることを確認してください。



画面記述子

画面記述子を編集するには、[記述子] タブで画面を右クリックして [記述子を編集] を選択します。[画面を編集] ウィンドウが表示されます。



アプリケーション パスまたはブラウザーの URL、アプリケーション引数、およびウィンドウ セレクターを編集することで、タイトルが完全に一致するアプリケーションのみをオートメーションで使用できるようにするかどうかを選択できます。[アプリケーション パス]、[ブラウザーの URL]、および [アプリケーション引数] の各フィールドでは、式、変数、引数がサポートされます。

UI 記述子を解決する

既にオブジェクト リポジトリで参照されている画面または UI 要素を指定すると、プロジェクト UI 記述子または UI ライブラリのいずれかで一致するものが自動的に検出され、以下のウィンドウが表示されます。



次のオプションを使用できます。

  • 再利用 - 一致する記述子をオブジェクト リポジトリから現在のアクティビティに追加します。
  • 新規作成 - 新しい画面/要素の作成、またはオブジェクト リポジトリ内の既存の画面/要素の更新を行うオプション ウィンドウを開きます。
  • キャンセル - リポジトリ内のオブジェクトに一切変更を加えずに、アクティビティ内で現在示されているセレクターを保持します。

画面を指定すると、対応する UI 記述子が検出される一方、ターゲット要素を指定すると、一致する UI 記述子が検索されます。レコーダーを使用している場合は、画面と要素の一致するものが、ローカル UI ライブラリのプロジェクト UI 記述子または UI ライブラリのインポートされた依存関係の中から検索されます。

注: アクティビティが実行時に UI 記述子を参照している場合、[オブジェクト ブラウザー] パネルで解決されます。

記述子の変数

再利用性を向上させるために、記述子の変数を使用できます。

ターゲットを編集し、変数を追加して、オブジェクト リポジトリに追加するか、既存の画面または要素のセレクターにオブジェクト リポジトリから変数を追加することができます。変数を含む記述子をプロセスに追加するときは、必ずプロセス内に変数を作成してください。そうしなければ、式を読み取ることができません。

記述子セレクターに変数を追加するには、オブジェクト リポジトリ内の要素を右クリックして [記述子を編集] を選択し、[選択オプション] ウィンドウから変数を追加します。

セレクターに追加した変数は二重中括弧で囲む必要があります。たとえば下の図に示すように、<name='{{VarNumber}}'/> とすると、変数 VarNumber の値がセレクターの name 属性に追加されます。


以下の例では、[アプリケーション/ブラウザーを使用] アクティビティの [ブラウザーの URL] フィールド内で変数を使用し、ターゲットを画面オブジェクトとしてオブジェクト リポジトリに追加しました。このようにして、URL が変更になるケースが記述子で考慮されるようにします。



要素を強調表示する

アプリケーションがマシン上で起動しているか、ブラウザーに Web ページが開いている場合は、[オブジェクト リポジトリ] パネルで画面または要素を右クリックし、[強調表示] を選択してアプリケーション内の要素を強調表示します。



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

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