Seleniumを介してHeadless Firefoxを実行するとエラーが発生します。

Seleniumを介してHeadless Firefoxを実行するとエラーが発生します。

Selenium経由でSSH経由でリモートコンピュータ(Ubuntu 16.04を実行)でヘッドレスFirefoxを実行しようとしています。ただし、これにより、「エラー:GDK_BACKENDが利用可能なモニタと一致しません。」エラーが発生します。私のホストコンピュータはWindowsを実行します。グラフィック出力を見たくありません。セレンテストにのみ使用されます。

X仮想フレームバッファを使用して仮想ドライバとして機能します。

Xvfb :10 -screen 0 1024x768x16 &

この特別なケースでは、DISPLAY環境変数を値10にエクスポートしました。

私はどこで間違っていますか?

編集:xvbfを実行した後、SSH経由でコマンドラインで「sudo firefox」を実行してもエラーは発生しません。このエラーは、セレンを介してFirefoxを実行している場合にのみ発生します。

詳細は:-

Selenium経由でFirefoxを呼び出しています。セレンスタンドアロンサーバーで提供される正確なエラーは次のとおりです。

17:52:55.218 INFO - Executing: [new session: Capabilities     [{browserName=firefox, platform=ANY,     firefox_profile=UEsDBBQAAAAAAJuOD0nf9RXUMgAAA...}]])
17:52:55.230 INFO - Creating a new session for Capabilities   [{browserName=firefox, platform=ANY, firefox_profile=UEsDBBQAAAAAAJuOD0nf9RXUMgAAA...}]
org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host     127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
Error: GDK_BACKEND does not match available displays

ベストアンサー1

明らかに、これはFirefox 48とSeleniumの間の非互換性によるものです(Selenium拡張はFirefox 48では署名されず、Firefox 48は署名された拡張のみを実行します)。マイユースケースはブラウザに限定されないため、Chromeのみを使用しています。

おすすめ記事