Firefox の自動化に GeckoDriver が不可欠な理由
Selenium で Firefox を使用する際の GeckoDriver の必要性に関する最近の質問が、この記事のきっかけとなりました。その理由を詳しく見てみましょう:
1. Firefox での Marionette の紹介:
Firefox バージョン 47.x よりも前では、ブラウザーの自動化はレガシー システムに依存していました。ただし、バージョン 47.x 以降、Firefox には、Gecko エンジン用に特別に設計された自動化ドライバーである Marionette が組み込まれています。 Marionette は Firefox のリモート コントロール機能を劇的に強化し、その UI と内部 JavaScript の両方との対話を可能にしました。したがって、GeckoDriver は必需品になりました。
2.自動バイナリ検出の欠如:
Google Chrome や Internet Explorer とは異なり、Firefox では実行可能パスを識別するために明示的な構成が必要です。これがないと、Firefox オートメーションはブラウザを見つけることができず、上記のエラーがスローされます。 Chrome や IE とは異なり、インストールまたは構成中に Firefox バイナリを環境変数に誤って追加してしまう可能性はなく、手動介入が必要になる可能性があります。
3.ダウンロードと構成の要件:
GeckoDriver は、Firefox だけでなく、Selenium バージョン 3.4.0 以降の Google Chrome および Internet Explorer の前提条件でもあります。この問題を解決するには、適切なドライバー (Firefox の場合は GeckoDriver、Chrome の場合は ChromeDriver、IE の場合は IEDriverServer) をダウンロードし、System.setProperty() を使用してコード内でその絶対パスを指定する必要があります。たとえば、Firefox で GeckoDriver を使用するには:
System.setProperty("webdriver.gecko.driver", "C:\Utility\BrowserDrivers\geckodriver.exe");
これらの対策を実装することで、ブラウザ テクノロジーの最新の進歩に合わせて、GeckoDriver を使用した Firefox でのシームレスな自動テストを確保できます。
以上がSelenium で Firefox を自動化するにはなぜ GeckoDriver が必要ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。