概要
以下の項目に対して、Windows 10→Windows 11 内部要素が Microsoft 社により変更されました。
BizRobo! V11.4 より、正式に Desktop Automation ロボットが Windows11 に対応致しましたが、一部の要素、アプリケーションにおいて Windows11 でロボットを実行する際に、修正が必要なものが存在することが確認されています。
以下に例を記載致しますため、 Windows11 へ実行環境を移行する際にロボットの内容をご確認頂き、
修正をご実施ください。
こちらのナレッジで全部の内容をカバーできませんので、よく利用されている部分のみご紹介いたします。
※ ロボットの一括修正に関しては 11.4.0 にてリリースされた Finder Updater Tool をお勧めします。
No | Windows 10 | Windows 11 |
1 | コマンドプロンプトの利用がある場合 | デフォルトのターミナルを利用するか、従来のコマンドプロンプトを復活させる |
2 | タスクバーの利用に automationIdを活用している場合 | automationIdが更新されたアプリに合わせる |
3 | エクスプローラの閉じる処理にautomationIdを活用している場合 | Windows 11のエクスプローラのタブ閉じるボタンの automationIdに更新 |
4 | エクスプローラ上にファイルをポップアップメニューで削除する場合 | Windows 11 のポップアップの削除ボタン要素に基づいて修正 |
5 | メモ帳の操作がある場合 | Windows 11のメモ帳用に要素の修正を行う |
作業手順
①コマンドプロンプトの利用がある場合
Windows11からデフォルトで「cmd.exe」をアクセスすると「Windowsターミナル」が開かれます。
Windows 10のコマンドプロントを操作するDAロボットをWindows 11に移行する場合、以下のどちらかの方法による対応が必要です。
■方法1:Windows11のデフォルトのターミナルを:「Windowsコンソールホスト」に変更することで従来のcmd.exeが利用続けます。
・「Windows + X」から「設定」を選択します。
・「プライバシーとセキュリティ」から「開発者向け」を選択します。
・ターミナルの項目は「Windows ターミナル」→「Windows コンソールホスト」に変えます。
・上記の設定で、cmd.exe を立ち上げるときに、従来のコマンドプロンプトが開かれます。
■方法2:新しい Windows Terminal で運用する場合、ロボットの修正が必要となります。
最低限は以下の箇所を修正する必要があります。
・アプリケーションを「cmd.exe」→「WindowsTerminal.exe」に変更します。
・コンポネントで「ドキュメント」→「ターミナル」
・コンポネントで「ボタン[name="閉じる"]」→「button[name="タブを閉じる"]」
上記以外にも修正する必要がある場合がありますので実際のロボットの動作をご確認ください。
② タスクバーの利用に automationId を活用している場合
Windows 11 で タスクバーで表示されているアイコンの automationId が変わったアプリがあります。
以下はよく利用されているアプリの例です。
・メモ帳(notepad): 「ボタン[automationId="{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\notepad.exe"]」→
「button[automationId="Microsoft.WindowsNotepad_8wekyb3d8bbwe!App"]」
・コマンドプロンプト (新しいターミナルを利用する場合): 「ボタン[automationId="{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\cmd.exe"]」→
「button[automationId="Microsoft.WindowsTerminal_8wekyb3d8bbwe!App"]」
・その他:Windows 7 の従来電卓 → Windows10,11 の電卓
「button[automationId="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"]」
※ Windows 11 のタスクバーの各アイコンは OS の言語にかかわらず、button として表されます。(Microsoft 社側の実装)
③ エクスプローラの閉じる処理に automationId を活用している場合
Windows 11 で、エクスプローラは Microsoft 社が改修を行ったアプリの一つです。
Windows 10 の DAS 利用ロボットがエクスプローラに automationId を利用して閉じる処理が含まれる場合、以下のどちらかの方法でロボットを修正する必要があります。
・方法1:automationId → name に変更
Microsoft 社はエクスプローラの通常閉じるボタンの automationId を実装せずに、内部テキストのみ実装されたため、その内部テキストを利用します。
日本語の Windows 11 の OS の場合、ボタン[name=”閉じる”]でロボットを修正してください。
・方法2:エクスプローラ内の各タブの閉じるボタンの automationId を利用エクスプローラ内の各タブの閉じるボタンの automationId="CloseButton"になります。
複数タブがある場合、以下のようにタブ名を指定することで解決できます。tab_item[name="Program Files"] > button[automationId="CloseButton"]
複数同じタブ名が存在する場合は、上記のコンポネントで一番左の方から対象になります。
④ エクスプローラ上にファイルをポップアップメニューで削除する場合
Windows 10 でエクスプローラ上のポップアップにて削除メニュークリックを DAS 利用ロボットで自動化している場合、name=”削除(D)”もしくは automationId=”30994”属性で対象要素を特定することができます。
Windows 11 にその DAS 利用ロボットを移行する場合、以下の属性の有無によって適切にロボットを更新します。
■アプリケーションの指定を修正します。
以下の青い部分を追加することでより安定に動作します。
explorer.exe > ウィンドウ > window > pane
■コンポネント
・name: “削除(D)”→”削除”
・automationId:”30994”→”delete”
⑤ メモ帳の操作がある場合
Windows 10 のメモ帳(notepad)と Windows 11 のメモ帳(notepad)の要素にはいくつかの差分があります。
・最初に、アプリケーションの修正(始めのnを大文字にする)を行います。
notepad.exe → Notepad.exe
ポップアップの場合、タイトル属性を付ける必要があります。例:Notepad.exe[title="PopupHost"]
・メモ帳に直接入力処理がある場合、以下の修正が必要です。
コンポネント:編集→ウィンドウ[className="Notepad"]
・メモ帳のツールバーメニュー
コンポネント:メニュー項目→menu_item
属性:name 属性の値を Windows 11 用に適切に修正する必要があります。
・メモ帳でページアップとページダウンボタンを操作する
ページアップコンポネント:ボタン[name="1 行上"]→button[name="垂直方向に小さく戻る"]
ページダウンコンポネント:ボタン[name="1 行下"]→button[name="垂直方向に小さく進む"]
・保存確認ダイアログ処理がある場合
以下は Windows 10 の場合の要素です。
以下は Windows 11 の場合の要素です。
Windows 11 の場合、保存確認ダイアログは別のウィンドウではなく、Notepad.exe 内に表示されますので、アプリケーションは Notepad.exe に修正し、コンポネントは button[name=”保存”]もしくは
button[automationId=”PrimaryButton”]等に修正します。