tanakahdaのプログラマ手帳

プログラミングとかソフトウェア開発とかの備忘録

UI アクティビティのプロパティ「準備完了まで待機(WaitForReady)」について@UiPath

UI アクティビティのプロパティで共通のプロパティである「準備完了まで待機(WaitForReady)」は次の3つの選択肢がある。

1. NONE … ターゲット要素以外の要素の読み込みを待たずに、アクションを実行する。
2. INTERACTIVE … 一部のアセットがまだ読み込まれている可能性がありますが、ターゲット アプリが準備完了を示すまで待機する。
3. COMPLETE … 操作を実際に実行する前に、ターゲット アプリのすべての UI 要素が読み込まれるのを待つ。

アプリケーションがINTERACTIVEまたはCOMPLETEのどちらの状態にあるかを調べるには、以下のタグを検証する。

・デスクトップアプリケーションの場合
 <wnd>タグ、<ctrl> タグ、<java> タグ、または <uia> タグの存在を確認するために wm_null メッセージ(※1)が送信される。存在する場合、アクティビティが実行される。

・Webアプリケーションの場合
 a. Internet Explorer ... <webctrl> タグは、HTML ドキュメントの Ready ステートが Complete に設定されているかどうかを確認するために使用される。また、 Busy ステートでは、False に設定する必要がある。(※2)
 b. その他 ...  タグは、HTML ドキュメントの Ready ステートが Complete であるかどうかを確認するために使用される。

・SAPアプリケーションの場合
 最初に <wnd> タグを確認した後、SAP 固有の API を使用して、セッションがビジーかどうかを検出する。


※1. 何の操作も実行しない。 受信者ウィンドウが無視するメッセージをポストする必要がある場合に、 WM _ NULL メッセージを送信する。
※2.
InternetExplorerオブジェクトのdocument.readyStateプロパティはHTMLDocumentオブジェクトのドキュメントの読み込み状態を示す。InternetExplorerの状態をチェックするのに利用すると、より安全に処理を行うことができる。読み込み状態は下記の4段階がある。
“uninitialized" … デフォルト値。読み込み開始前。
"loading" … documentオブジェクトの読み込み中。
"interactive" … documentオブジェクトの読み込み中で操作可能。
"complete" … documentオブジェクトの読み込み完了。

InternetExplorerオブジェクトのBusyプロパティはWebページが読み込み中か示す。「True」は読み込み中で「False」は読み込み完了を示す。