Power Automate for desktop

[Power Automate Desktop]オートメーション ブラウザーとは?

まず表題の「オートメーション ブラウザー」とは何かと言うと、Power Automate Desktop(PAD)ではMicrosoft EdgeやGoogle Chromeといった、いくつかのブラウザーを操作できるのですが、その中の一つがPADに組み込まれているオートメーション ブラウザーです。

オートメーション ブラウザーは、IEを操作するためのアクション「新しい Internet Explorer を起動します」の「起動モード」パラメーターで「オートメーション ブラウザーを起動します」を選択することで実行できます。

今回はこのオートメーション ブラウザーがどういったものなのかを調べた結果を簡単にまとめてみます。

オートメーション ブラウザーはWebBrowserコントロール

まずウィンドウの構造をSpy++で調べた結果が下図になります。

WindowsFormsの下にShell Embedding、Shell DocObject View、一番下に「Internet Explorer_Server」クラスのウィンドウがぶら下がっているのを見る限り、オートメーション ブラウザーはフォーム(System.Windows.Forms)上に貼りついたWebBrowserコントロールのようです。

オートメーション ブラウザーの実行ファイルは「PAD.AutomationBrowser.exe」

次にオートメーション ブラウザーの実行ファイルが何なのかをProcess Explorerで調べたところ「PAD.AutomationBrowser.exe」となっており、フロー デザイナー(PAD.Designer.exe)とは別の実行ファイルであることが分かりました。

コマンドライン文字列として下記パラメーターが渡されていることも確認できます。

"C:\Program Files (x86)\Power Automate Desktop\PAD.AutomationBrowser.exe" --jobName="***" --windowState="0" --fileforhandles="***" --jumpstartURI="***" --userAgentString="" --scriptErrorsSuppressedRightAway="true"

「–jobName」や「–jumpstartURI」の値を見る限りBase64エンコードした文字列を渡しているようですが、とりあえずエンコードせずに下記のようなパラメーターを付けてコマンド プロンプトから実行したところ、PADが終了された状態でも単独で起動できました。

"C:\Program Files (x86)\Power Automate Desktop\PAD.AutomationBrowser.exe" --jobName="PAD.Robot" --windowState="0" --fileforhandles="C:\\Test\\PAD\\handles" --jumpstartURI="https://www.ka-net.org/blog/" --userAgentString="" --scriptErrorsSuppressedRightAway="true"

User Agent

userstackにアクセスしてUser Agentを確認したところ、下記のようになっていました。

Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko

Windows 8.1(32ビット版)のIE11扱いのようです。

Basic認証やクライアント証明書を必要とするサイトへのアクセス

オートメーション ブラウザーについてはロボ研さんのブログでも紹介されています。

その中でBasic認証やクライアント証明書に対応していないとの記述があったので試してみました。

Basic認証

まずBasic認証については昔からよく使われる、URLに「ユーザ名:パスワード@」を含める方法で突破できました。

クライアント証明書

クライアント証明書が必要なサイトは、アクセス時に証明書を選択できずにページを開けませんでしたが、下記サイトを参考に「scriptErrorsSuppressedRightAway」オプションを「false」にして「PAD.AutomationBrowser.exe」を手動で実行したところ、ページが開けることを確認しました。

ただし、「新しい Internet Explorer を起動します」アクションからはこのオプションを指定できるようになっていないようなので、基本的にはオートメーション ブラウザーはクライアント証明書には非対応と言えるでしょう。

IEChooserでデバッグ

オートメーション ブラウザーで表示しているWebサイトではEdgeのF12開発者ツールが使えないため、デバッグする際は「IEChooser」(%SystemRoot%\System32\F12\IEChooser.exe)を使うと良いでしょう。

下記記事でも触れていますが、WebBrowserコントロールはIEのサポート終了後も一定期間はサポートされるようなので、どうしても使い続けなければならないIE限定のWebシステムが残っている場合は、その自動化にオートメーション ブラウザーが使えるだろうと思います。

[Power Automate Desktop]SOAP Web サービスを呼び出すアクションを試してみました。前のページ

PDFファイルのフィールドを読み取り専用にするVBAマクロ次のページ

関連記事

  1. Power Automate for desktop

    [Power Automate for desktop]名前を付けて保存ダイアログを操作するフロー

    前回の記事でUI要素のセレクターで変数が使用できることを説明しましたが…

  2. Power Automate for desktop

    Power Automate Desktopを更新するPowerShellスクリプト

    公式ブログを見れば分かる通り、Power Automate Deskt…

  3. Power Automate for desktop

    APIを使ったkintoneとPower Automate for desktopの連携

    前回の記事でkintone 開発者ライセンスの取得方法を紹介したので、…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP