- 概要
- UI Automation
- UI Automation を使用して自動化されるアプリケーションと技術
- プロジェクトの対応 OS
- UI-ANA-016 - [ブラウザーを開く] に使用されている URL を検出
- UI-ANA-017 - [エラー発生時に実行を継続] の値が True
- UI-ANA-018 - OCR/画像関連のアクティビティのリスト
- UI-DBP-006 - コンテナーの使用
- UI-DBP-013 - Excel の自動化方法の誤用
- UI-DBP-030 - セレクター内での変数の使用禁止
- 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 - 許可されていない属性
- UX-SEC-010 - アプリ/URL の制限
- UX-DBP-029 - セキュリティで保護されていないパスワードの使用
- UI-PST-001 - [プロジェクト設定] の監査ログ レベル
- UiPath ブラウザー移行ツール
- クリッピング領域
- Computer Vision レコーダー
- アクティベート
- アンカー ベース
- ブラウザーにアタッチ
- ウィンドウにアタッチ
- ユーザー入力をブロック
- 吹き出し
- チェック
- クリック
- 画像をクリック
- 画像クリック トリガー
- OCR で検出したテキストをクリック
- テキストをクリック
- クリック トリガー
- アプリケーションを閉じる
- タブを閉じる
- ウィンドウを閉じる
- コンテキスト対応のアンカー
- 選択されたテキストをコピー
- 要素属性変更トリガー
- 要素の存在を確認
- 要素スコープ
- 要素ステート変更トリガー
- UI ツリーをエクスポート
- 構造化データを抽出
- 子要素を探す
- 要素を探す
- 画像を探す
- 一致する画像を探す
- OCR でテキスト位置を探す
- 相対要素を探す
- テキスト位置を探す
- アクティブ ウィンドウを取得
- 親要素を取得
- 属性を取得
- イベント情報を取得
- クリップボードから取得
- フル テキストを取得
- OCR でテキストを取得
- パスワードを取得
- 位置を取得
- ソース要素を取得
- テキストを取得
- 表示中のテキストを取得
- 前に戻る
- 次に進む
- ホームに移動
- Google Cloud Vision OCR
- ウィンドウを隠す
- 強調表示
- ホットキー トリガー
- ホバー
- 画像上でホバー
- OCR で検出したテキスト上でホバー
- テキスト上でホバー
- 画像の存在を確認
- 画面上で指定
- .NET コードを挿入
- JS スクリプトを挿入
- ActiveX メソッドを呼び出し
- キー操作トリガー
- 画像を読み込み
- ウィンドウを最大化
- Microsoft Azure ComputerVision OCR
- Microsoft OCR
- Microsoft Project Oxford Online OCR
- ウィンドウを最小化
- イベントを監視
- マウス トリガー
- ウィンドウを移動
- URL に移動
- OCR でテキストの存在を確認
- 要素が出現したとき
- 要素が消滅したとき
- 画像が出現したとき
- 画像が消滅したとき
- アプリケーションを開く
- ブラウザーを開く
- ブラウザーを更新
- ユーザー イベントを再生
- ウィンドウを復元
- 画像を保存
- 項目を選択
- 複数の項目を選択
- ホットキーを押下
- クリッピング領域を設定
- フォーカスを設定
- テキストを設定
- クリップボードに設定
- Web 属性を設定
- ウィンドウを表示
- プロセスを開始
- システム トリガー
- スクリーンショットを作成
- Tesseract OCR
- テキストの存在を確認
- ツールチップ
- 文字を入力
- SecureString で文字を入力
- フォアグラウンドを使用
- 属性を待つ
- 要素の消滅を待つ
- 画像の消滅を待つ
- UI Automation API を使用してブラウザー検索を実行し、結果を取得する
- Web の閲覧
- 画像を検索する
- 画像をクリックする
- イベントをトリガーおよび監視する
- ファイルを作成して上書きする
- HTML ページ: 情報を抽出して操作する
- ウィンドウの操作
- リスト項目の選択の自動化
- ウィンドウ要素を探して操作する
- テキスト操作の自動化を行う
- 画像を読み込んで処理する
- マウスでアクティブ化する操作を管理する
- アプリケーションランタイムの操作を自動化する
- ローカル アプリケーションの自動実行
- ブラウザーのナビゲーション
- Web オートメーション
- トリガー スコープの例
- DevExpress での UI Automation の有効化
- Computer Vision Local Server
- モバイル オートメーション
- ターミナル
UI Automation のアクティビティ
JS スクリプトを挿入
UiPath.Core.Activities.InjectJsScript
UiElement に対応する Web ページのコンテキストで JavaScript コードを実行します。
入力
-
スクリプト コード - 実行する JavaScript のコードです。文字列でコードを直接入力できるほか、実行するコードを収めた
.js
ファイルへのフル パスを追加することもできます。例のように、単一の匿名関数を記述する必要があります。function (element, input) { return "result"; }
function (element, input) { return "result"; }async function (element, input) { const asyncResult = await new Promise((resolvePromiseCb) => { const timeoutMs = 100; setTimeout(() => { resolvePromiseCb("async_result"); }, timeoutMs); }); return asyncResult; }
async function (element, input) { const asyncResult = await new Promise((resolvePromiseCb) => { const timeoutMs = 100; setTimeout(() => { resolvePromiseCb("async_result"); }, timeoutMs); }); return asyncResult; }ここで、element
は呼び出し元の UI ノードに対応する HTML 要素を表し、input
は、呼び出し元によって提供される入力文字列を表します。 - InputParameter - JavaScript コードの入力データです (文字列または String 型変数)。
- Target.Selector - アクティビティの実行時に特定の UI 要素の検索に使用する Text プロパティです。実際には、検索しようとする GUI 要素とそのいくつかの親要素の属性を指定する XML フラグメントです。
- Target.TimeoutMS - アクティビティの実行が完了するまで待機する時間をミリ秒で指定します。指定した時間が経過しても実行が完了しない場合には、
SelectorNotFoundException
例外をスローします。既定値は 30000 ミリ秒 (30 秒) です。 -
Target.WaitForReady - アクションを実行する前に、ターゲットが準備完了になるまで待ちます。次のオプションを使用できます。
- NONE - ターゲット要素以外の要素の読み込みを待たずに、アクションを実行します。たとえば、UI 要素がすべて読み込まれるまで待つことなく、Web ページからテキストを取得したり、特定のボタンをクリックしたりする場合に、このオプションを使用できます。ボタンがまだ読み込まれていない要素 (スクリプトなど) に依存している場合、これは望ましくない結果を招く可能性があります。
-
Interactive/Complete - 実際に操作を実行する前に、対象アプリのすべての UI 要素が存在するようになるまで待ちます。
アプリケーションが対話または完了のどちらのステートにあるか調べるには、以下のタグを検証します。
- Desktop applications -
<wnd>
タグ、<ctrl>
タグ、<java>
タグ、または<uia>
タグの存在を確認するためにwm_null
メッセージが送信されます。存在する場合、アクティビティが実行されます。 - Web アプリケーション:
- Internet Explorer -
<webctrl>
タグは、HTML ドキュメントの Ready ステートが Complete に設定されているかどうかを確認するために使用されます。また、Busy ステートは「False」に設定されている必要があります。 - Others -
<webctrl>
タグは、HTML ドキュメントの Ready ステートが Complete であるかどうかを確認するために使用されます。
- SAP applications - 最初に
<wnd>
タグを確認した後、SAP 固有の API を使用して、セッションがビジーかどうかを検出します。
- Target.Element - 別のアクティビティから返される UiElement 変数を使用します。このプロパティを Selector プロパティと一緒に使用することはできません。このフィールドでは UiElement 変数のみサポートされています。
- Target.ClippingRegion - UiElement を基準とし、左、上、右、下の方向で、クリッピング四角形 (ピクセル単位) を定義します。正と負の両方の値をサポートしています。
出力
- ScriptOutput - JavaScript コードから返される文字列の結果です。
共通
- 表示名 - アクティビティの表示名です。
-
エラー発生時に実行を継続 - アクティビティが例外をスローした場合でも、ワークフローを継続するかどうかを指定します。このフィールドでは Boolean 値 (True、False) のみサポートされています。既定値は False です。その結果、フィールドが空白で例外がスローされると、プロジェクトの実行が停止します。値を True に設定すると、プロジェクトの実行はエラーに関係なく継続されます。
注: このアクティビティが [トライ キャッチ] に含まれていて、[エラー発生時に実行を継続] プロパティの値が True の場合、プロジェクトが実行されたときにエラーは発生しません。
その他
- プライベート - オンにした場合、変数および引数の値が Verbose レベルでログに出力されなくなります。
オプション
-
実行環境 - スクリプトを実行する JavaScript 環境です。
- Isolated - スクリプトは HTML 要素にはアクセスできますが、ページ変数やページ コードにはアクセスできません。スクリプト実行がページと競合しないようにする場合は、このオプションを使用します。
- Page - スクリプトは HTML 要素、ページ変数、ページ コードにアクセスできます。ページ変数 (例:
jQuery $
) へのアクセス、またはページ コードの操作 (例:window.alert
) が必要な場合は、このオプションを使用します。MV3 拡張機能に固有の既知の問題を修正するには、このオプションを使用する必要があります。
すべての [JS スクリプトを挿入] アクティビティの [実行環境] プロパティは、[プロジェクト設定] から変更できます。
.js
ファイルを処理するために使用されます。ブラウザー拡張機能をインストールして有効化しておく必要があります。
このアクティビティの使用方法を例示するために、ブラウザーを開き、ユーザーが指定したテキストを含むアラートを表示する例を作成しました。
サンプルと同等のオートメーション プロセスは以下のように構築できます。
-
Studio を開いて、新しいプロセスを作成します。
注:.js
ファイルは必ずプロジェクト フォルダーに配置してください。この例では、ファイルexample.js
を使用しました。 -
ワークフロー デザイナーに [シーケンス] をドラッグします。
-
次の変数を作成します。
変数名
変数の型
既定値
TextToWrite
GenericValue
-
-
[代入] アクティビティを [シーケンス] コンテナー内部にドラッグします。
- [プロパティ] パネルで、[表示名] フィールドに
Ask for message
を追加します。 - 式
"Please insert the text to be written on the web page."
を Label (ラベル) フィールドに追加します。 - メッセージ
"Please insert text"
を Title (タイトル) フィールドに追加します。 - Result (値) フィールドに変数
textToWrite
を追加します。
- [プロパティ] パネルで、[表示名] フィールドに
-
[ブラウザーを開く] アクティビティを、[入力ダイアログ] アクティビティの下に配置します。
- アドレス
"https://www.google.com/"
を Url フィールドに追加します。
- アドレス
-
[JS スクリプトを挿入] を [ブラウザーを開く] アクティビティの [本体] コンテナー内にドラッグします。
- [プロパティ] パネルで、[表示名] フィールドに
Show Alert
を追加します。 - InputParameter フィールドに変数
TextToWrite
を追加します。 - 式
"Inject JS\example.js"
を ScriptCode フィールドに追加します。
- [プロパティ] パネルで、[表示名] フィールドに
-
プロセスを実行します。ロボットは新しいブラウザー ページを開き、ユーザーが追加したテキストを含むアラートを提供します。