UiPath Documentation
studio
latest
false
Studio ガイド
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。

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

Studio でオブジェクト リポジトリを作成し、モダン デザイン エクスペリエンスを使用して、オートメーション プロジェクト全体で UI 要素をキャプチャ、管理、再利用します。

重要:

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

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

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

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

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

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

  • 任意のプロジェクトからライブラリ プロジェクトにローカル リポジトリを抽出し、NuGet パッケージとしてパブリッシュします。
  • 新しいライブラリから開始し、そこでリポジトリを構築し、NuGet パッケージとしてパブリッシュします。 その後、UI ライブラリの NuGet パッケージを使用し、依存関係としてプロセスに追加することができます。
    重要:

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

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

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

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

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

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

  • [アプリケーションを追加] または [画面を追加] をクリックして、新しいアプリケーションまたは画面を追加します。
  • [ 一時停止[一時停止] ボタン] をクリックして、いつでも記録を一時停止できます。記録を再開するには、[ 記録][記録] ボタン を再びクリックします。
  • 記録された要素を管理します。
    • 左側のパネルで選択し、右側の [プロパティ] パネルで編集して、画面または要素のプロパティを更新します。
    • 左側のパネルでドラッグ アンド ドロップして、要素を並べ替えたり、グループ化します。
    • [要素をキャプチャ] ウィンドウで [強調表示] ボタン ボタンを使用してキャプチャ済みの要素名の上にカーソルを合わせて強調表示し、要素を簡単に見つけることができます。
    • レコーディングが一時停止しているときに、以下を行うことができます。
      • 右クリックして [削除] を選択して、要素を削除します。
      • 既存の要素を右クリックし、[要素を作成] を選択して、画面または要素の子として新しい要素を作成します。
    • 必要に応じて、[設定] 設定ボタン をクリックして、各要素を設定するか、変更を自動適用するかを選択します (どちらの設定も、既定で有効化されています)。
  • [オブジェクトをライブラリに保存] [オブジェクトをライブラリに保存] ボタン をクリックして変更内容を保存し、レコーダーを閉じて、プロジェクトに戻ります。

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

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

  1. 要素をキャプチャ ウィザードの [ すべての要素をキャプチャ ] ボタンを選択します。オブジェクト リポジトリに追加する要素を含むウィンドウを指定するように求められます。要素をキャプチャする領域上で四角形をドラッグして、対象のアプリケーションの領域のみを選択することもできます。
  2. アプリケーションを指定すると、すべての要素が検出され緑で強調表示されます。オブジェクト リポジトリに追加しない要素を手動で選択解除することもできます。[スキャン ウィザード] ウィンドウでは、該当のボタンを使用して、要素を [すべて選択] するか [すべて選択解除] するかを選択できます。[ テキストをキャプチャ ] チェックボックスをオンにすると、テキスト要素もキャプチャされます。選択が完了したら、[ キャプチャ ] をクリックしてスキャン ウィザードを閉じ、[ 要素をキャプチャ ] ウィンドウに戻ります。識別されない要素がある場合は、分析のために UiPath に画像を送信して検出機能の向上にご協力ください。[ 問題を報告] を選択し、識別されない要素がある領域を選択して [ 送信] を選択します。
    注:

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

記述子のプロパティ

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

要素の種類

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

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

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

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

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

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

更新された要素はオブジェクト リポジトリに保存されます。これらの要素を参照するすべてのワークフローは、更新された記述子を自動的に使用します。

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

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

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

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

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

画面を作成する

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

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

  • 必要に応じて、アプリケーション パスを変更します。
  • アプリケーション引数を追加します。 完了したら、[画面を作成] をクリックします。

UI 要素を作成する

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

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

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

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

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

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

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

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

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

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

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

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

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

オブジェクト リポジトリから、画面または要素をワークフロー内のアクティビティの上部にドラッグ アンド ドロップします。オブジェクトの画像、引数、その他詳細が自動的にアクティビティに追加されます。あるアクティビティがオブジェクト リポジトリの画面または要素を使用しているときは、アクティビティ内でオブジェクト リポジトリのアイコンをクリックすると、オブジェクト リポジトリ ツリーで使用されている記述子が強調表示されます。

重要:

If your workflow is connected to a versioning system, such as Git, any updates made to an object in the Object Repository only appear as modified in the Object Repository panel from a versioning perspective. All workflows using the updated object automatically reference the modified content (e.g., selectors or any targeting method) during runtime, ensuring seamless operation with the updated object.

However, certain properties inherited from the Object Repository, such as screenshots or other activity-related informational properties, are not updated in the workflow files until you manually open, and save each workflow. This manual update is required for design-time changes to reflect in the versioning system, but it does not impact runtime behavior or functionality, as the workflows still use the updated object content. The limitation affects only versioning, as some activity properties are embedded in the workflow file, and are not automatically refreshed.

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

Alternatively, drag and drop an object on top of the plus sign inside the workflow. If you drag and drop a screen, a Use Application/Browser activity is automatically added. If you drag and drop an element, a list of compatible activities is displayed.

Select the desired activity and the object is automatically added. Inside the process, the activity receives the following label: activity name + object name. After the object is added, the activity receives the descriptor properties from the Object Repository, visible in the activity's Properties panel.

  • アクティビティから記述子を編集または指定するには、[オプション] [オプション] メニュー ボタンを選択してから [画面上でターゲットを指定] または [ターゲットを編集] を選択します。オブジェクト リポジトリの記述子に対してアクションが実行されることを示すダイアログが表示されます。[ 記述子を指定] と [ 記述子を編集 ] をそれぞれ選択して、選択内容を確定します。[コンパクト デザイン エクスペリエンス] 設定を使用する場合は、アクティビティ カードから直接ターゲットを指定したり、オブジェクト リポジトリから項目を選択したりできます。

  • 現在のアクティビティの記述子のみを指定または編集するには、[オプション] 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. Open のコード化されたオートメーション API を使用し、以下のコードを使用して画面を開きます。
    var screen = uiAutomation.Open("MainScreen");
    var screen = uiAutomation.Open("MainScreen");
    

ObjectRepository 名前空間と Descriptorsを検索するには、キーボードの CTRL + space キーを押します。4. 以下のコードを用いて、UI 要素に対して Select のコード化されたオートメーション API を使用します。

screen.Click("HomePageIcon");
screen.Click("HomePageIcon");

結果

コード化されたオートメーションで UI 要素にアクセスするには、オブジェクト リポジトリの文字列識別子を使用します。

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. Open のコード化されたオートメーション API を使用し、以下のコードを使用して画面を開きます。

var screen = uiAutomation.Open(ObjectRepository.Descriptors.MyApplication.MainScreen);
var screen = uiAutomation.Open(ObjectRepository.Descriptors.MyApplication.MainScreen);

ObjectRepository 名前空間と Descriptorsを検索するには、キーボードの CTRL + space キーを押します。5. 以下のコードを用いて、UI 要素に対して Select のコード化されたオートメーション 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. Select や Open などのコード化されたオートメーション API を使用する場合は、次の形式で UI 要素を呼び出します。
    screen.Click(<LibraryName>.ObjectRepository.Descriptors.MyApplication.MainScreen.HomePageIcon);
    screen.Click(<LibraryName>.ObjectRepository.Descriptors.MyApplication.MainScreen.HomePageIcon);
    

結果

UI 要素は ObjectRepository.Descriptors.<App>.<Screen>.<Element> を介して参照され、コード化されたオートメーション API がその要素を操作できます。

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

モバイル オートメーションのコード化されたオートメーション 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);

ObjectRepository名前空間と Descriptors クラスを検索するには、キーボードの CTRL + space キーを押します。5. 以下のコードを使用し、ParentElementGetAttribute のコード化されたオートメーション API を使用します。

var isChecked = connection.GetAttribute(Descriptors.MyApplication.HomeScreen.ParentElement, Attributes.Android.CHECKED);
var isChecked = connection.GetAttribute(Descriptors.MyApplication.HomeScreen.ParentElement, Attributes.Android.CHECKED);
  1. インポートしたライブラリ プロジェクトから取得したオブジェクト リポジトリの要素を使用する場合は、次の手順を実行します。
    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);
      

結果

コード化されたオートメーションでは、モバイル UI 要素にオブジェクト リポジトリの IElementDescriptor インターフェイスを介してアクセスできます。

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"));

同じ例を見てみましょう。ただし今回は、別のアプリ (anotherApp) の別の画面 (anotherScreen) 上にある同じ CheckedOnlyCheckBox 要素をタップします。

connection.Tap(MobileTarget.FromObjectRepository("ParentElement///ChildElement", "anotherApp", "anotherScreen");
connection.Tap(MobileTarget.FromObjectRepository("ParentElement///ChildElement", "anotherApp", "anotherScreen");
  1. ["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 ExplorerUI Explorer ボタン ボタンを使用して直接編集できます。

オンライン編集

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

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

注:

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

オフライン編集

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

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

画面記述子

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

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

UI 記述子を解決する

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

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

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

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

注:

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

記述子の変数

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

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

Using variables in selectors

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

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

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

要素を強調表示する

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

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

接続

ヘルプ リソース サポート

学習する UiPath アカデミー

質問する UiPath フォーラム

最新情報を取得