[WinActor]AutomationIDとName、PreviousとNext

このテーマの続きです。

[WinActor]UIAutomationをWinActorに組み込む

 

Inspectツールで個別にアプリケーションの検査をしてみると、やっぱりAutomationIDが付与されていないコントロールもままある。

NameかAutomationIDで特定できそうだけども、それすらも難しそうだなーって時は、その前後の要素を検査してみたらPreviousとかNextで辿って捕まえられそうな感じしてきた。

サクッと機能追加して作ってみたぜ。

 

1.これでどうよ?っていう実装。

最新資材はこちら。

  • ウィンドウ識別名 ⇒ 対象ウィンドウを選択。
  • プロパティ ⇒ NameとAutomationIDが選択できる。
  • 操作の内容 ⇒ クリック、フォーカスする、値の取得、値の設定、Nameの取得から選ぶ。
  • 設定値 ⇒ 操作の内容でSetValueを選んだ時だけ設定。
  • オプション ⇒ NextとかPreviousで辿ってコントロール取得する時用
  • 取得結果 ⇒ 値の取得系の時は使う。

※ 2019/08/12 FirstChildとLastChildもオプションに追加

 

2.設定方法

ダウンロードした資材のzipを解凍したら、WinActor.exeと同じフォルダにUIA_cmd.exeを配置。

スクリプト実行ノードのスクリプトに以下を張り付けすればすぐ使えます。

 

3.UIA_cmd.exe側の処理

最初に作ったコードではAutomationIDでしか検索しない様にしてたけども、Nameで検索するパターンも加味してAutomationPropertyの取得部分を変更。

そっから、取得したAutomationElementに対してOptionでNextかPreviousが指定されていれば移動するって寸法です。

 

 

「[WinActor]AutomationIDとName、PreviousとNext」に1件のコメントがあります

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です