
Modern Browser Automation ‐ 問題と解決策 第4回 ‐ブラウザー拡張機能が検知できない問題
Blue Prism公式ブログをご覧いただき、誠にありがとうございます。プロフェショナルサービスのAkiです。
本日はModern Browser Automation(Edge, Chrome, Firefoxの自動化)の「起こり得る」問題点とそれぞれの解決策についてご紹介します。
第4回の今回はブラウザー拡張機能が検知できない問題についてご紹介します。どうぞよろしくお願いします。
参考: これまでにご紹介したModern Browser Automationの問題と解決策
第1回 ‐ アタッチできない
第2回 ‐ スパイされた要素が時々認識できなくなる
第3回 ‐ フィールドに値が入力されたものの、フィールドの入力イベント処理が実行されない
1. 現象
Blue Prismのビジネスオブジェクトにおいて、起動アクションでブラウザーアプリケーションを起動する時、下記のエラーメッセージが出てきます:
"エラー ‐ アプリケーションを起動できませんでした ‐ ブラウザー拡張機能が検知されませんでした。インストールされ有効化されていることをご確認ください。詳細はブラウザー拡張機能のユーザーガイドをご覧ください。"

2. 原因と解決策
この現象に対して、複数の原因が考えられるため、皆様がフォローしやすくするために、それぞれの原因及びその解決案をまとめてご説明します。
1. 起動されたブラウザーにブラウザー拡張機能がインストールされていないか、有効化されていないため、ブラウザーとBlue Prismとの間コミュニケーションができません
ブラウザー拡張機能がインストールされ、有効化されているかどうかを各ブラウザーの拡張機能管理ページで確認できます:
Chromeの場合: chrome://extensions
Edgeの場合: edge://extensions
Firefoxの場合: about:addons
ブラウザー拡張機能がインストールされていない場合、下記の方法でインストールできます:
ウェブストアからブラウザー拡張機能をダウンロードします
コントロールパネル ---> プログラムと機能にアクセスし、アプリケーションのリストからBlue Prismを選択し、「変更」をクリックします。
現れた画面から「Change Features」(機能の変更)を選択し、「Advanced Install」セクションを開きます。必要なブラウザー拡張機能を選択し、インストールします。
下記の場合、EdgeとFirefoxのブラウザー拡張機能がインストールされたものの、Chromeのブラウザー拡張機能がインストールされません。

上記の画面にブラウザー拡張機能がチェックされたのに、ブラウザー拡張機能管理ページに表示されない場合、Blue Prismをチェック入れる状態で、「Repair」(修理)をクリックすると、「Advanced Install」画面にチェックされた機能を全てインストールされるように修正します。

変更がみられるため、ブラウザーを再起動する必要があります。
2. 間違ったバージョンのブラウザー拡張機能を使用しています
Browser Extension compatibility matrix (ブラウザー拡張機能のコンパチビリティマトリックス)でインストールされたブラウザー拡張機能と使用中のBlue Prismバージョンがマッチしているかどうかを確認します。
アップグレードを行った場合など、拡張機能管理ページに複数ブラウザー拡張機能のバージョンが存在していることがあります。

この場合、コンパチビリティマトリックスにリストされた相応しいバージョン以外はすべて削除することを推奨します。
3. Edge Chromiumの起動を高速化する機能(スタートアップブースト)が有効化されています
Edgeバージョン88からスタートアップブーストの機能が導入されています。この機能が有効化されると、Windowsデスクトップにログインする度に、Edgeもバックグラウンドモードで実行します。その結果、Edgeブラウザーが高速で立ち上がることができます。
この機能はEdgeとChromeブラウザーの起動及び要素識別(スパイ)を妨害するとみられるため、この機能が有効化された時、「ブラウザー拡張機能が検知されませんでした」とのエラーがでてくることがあります。
Blue Prism開発チームはこの問題を認識しており、調査を行っております(BP-8349)。結果が出るまでは、ChromeやEdgeブラウザーで作業する必要のある全てのマシンにおいては、このスタートアップブースト機能を無効化することを推奨します。
スタートアップブーストを無効化する方法ですが、Edgeブラウザーでedge://settings/systemを開き、スタートアップブーストオプションを下記のように無効化します。

またポート固定機能を有効化したユーザーの場合、下記の設定も推奨します:
上の写真のように、「Edgeを閉じた後もアプリケーションと拡張機能をバックグラウンドモードで実行する」オプションもチェックを外すこと
WindowsスタートアップアプリのリストからEdgeを削除すること
4. Chromeの「Google Chromeを閉じた際にバックグラウンドアプリの処理を続行する」機能が有効化されています
この機能はEdgeとChromeブラウザーの起動及び要素識別(スパイ)を妨害するとみられるため、この機能が有効化された時、「ブラウザー拡張機能が検知されませんでした」とのエラーがでてくることがあります。
Blue Prism開発チームはこの問題を認識しており、調査を行っております(BP-8349)。結果が出るまでは、ChromeやEdgeブラウザーで作業する必要のある全てのマシンにおいては、この機能を無効化することを推奨します。
この機能を無効化する方法ですが、Chromeブラウザーでchrome://settings/system にアクセスし、 下の写真のように、「Google Chromeを閉じた際にバックグラウンドアプリの処理を続行する」オプションのチェックを外します。

5. ブラウザーのパフォーマンスが悪く、起動までの時間がかかっています
Blue Prismを経由してブラウザーを起動する時、起動できるまで長い時間がかかる場合、「ブラウザー拡張機能が検知されませんでした」エラーが見られることがあります。
ブラウザーベースのオブジェクトの起動アクションには、起動アクションがスタートされてからブラウザー拡張機能がBlue Prismとコミュニケーションするまでのタイムアウトが30秒で設定されます。このタイムアウトの値は現状変更できません。なぜなら、あるブラウザーの起動が30秒以上にかかる場合、それは異常だと考慮し、IT部門と原因を調査した方がいいと思われるからです。
そのため、起動に時間がかかっていることにより「ブラウザー拡張機能が検知されませんでした」エラーが発生した場合の解決案はIT部門と相談し、原因調査してもらい、場合によっては各ランタイムリソースのメモリとかCPUを改善させて早く起動が完了することや他の遅延を発生させている悪い拡張機能をオフにしてもらうことなどをしてもらうことを推奨します。
起動が完了し、ブラウザー拡張機能がBlue Prismと接続できた状態になった後、Blue Prismとブラウザー拡張機能との間のコミュニケーションタイムアウトは「第2回 ‐ スパイされた要素が時々認識できなくなる」にも記述したように、 Automate.exeコンフィグレーションファイルで変更可能です。
6. Native Messaging Host アプリケーションが実行されていません (version 7.0以降)
Blue Prismバージョン7.0から、Blue Prismとブラウザー拡張機能との間のコミュニケーションがBluePrism.MessagingHost.exeとの新しいプロセスで処理されます。
Blue Prismバージョン7.0以降をご利用のお客様において、「ブラウザー拡張機能が検知できないエラー」が見られる際、タスクマネージャーでBluePrism.MessagingHost.exe プロセスが表れているかどうかを確認することを推奨します。

このプロセスはBlue Prismがインストールされる時にブラウザーとのネイティブメッセージングホストとして登録されます。何回もブラウザーを再起動しても、BluePrism.MessagingHost.exeがブラウザーの起動と共に起動されない場合、前述の「1.起動されたブラウザーにブラウザー拡張機能がインストールされていないか、有効化されていないため、ブラウザーとBlue Prismとの間コミュニケーションができません」に記述された方法でBlue Prismインストレーションの修理を実行することを推奨します。

本稿では、「ブラウザー拡張機能が検知されませんでした」エラーの考えられる原因及びそれぞれの解決案をご紹介しました。このエラーが出る際、まずブラウザー拡張機能やネイティブメッセージングホスト(バージョン7.0以降)が正しくインストールされ、有効化されたかどうかを確認してから、ブラウザー拡張機能のバージョンやブラウザーの設定などの他の問題を考慮することを推奨します。
参考リンク
これまでに紹介したModern Browser Automationの問題と解決策は以下から確認いただけます。ぜひご覧ください。