Dreamhost共有ホスティングを使用しており、Seleniumで使用するためにFirefox3.0をヘッドレスで実行しようとしています。

実行しようとすると(~/local/bin/firefox/firefox)、次のエラーメッセージが表示されます。

error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory 

どうすればよいですか。この共有オブジェクトファイルを必要とせずにLinux上でFirefoxを実行しますか?

回答

これはかなり古い質問ですが、欲しかったここでGoogleから指示を受け、回答を見つけるためにしばらく検索する必要があったため、より最近の回答を追加しました。

Firefox 57以降、Firefoxをインストールして実行するだけでヘッドレスモードで実行できます。

firefox -headless http://test.com/ 

ここでFirefox開発ドキュメントを参照してください。

コメント

  • 最初のリリースでは、FirefoxヘッドレスモードでGTK3がインストールされたままであることに注意してください。私の知る限り、この問題は今では解決されています。

回答

Firefoxは実行できません必要なすべてのGtkライブラリがなくても、ライブラリをインストールすることで簡単に解決できます。通常、Firefoxはパッケージ管理システムを介してインストールします。これにより、必要なすべてのライブラリが取得されます。

Firefoxを正常に実行するには、 Xサーバー<が必要です。 / a>(これは、アプリケーションがコンテンツを構築するために使用するライブラリであるGtkのようなものとは対照的に、ウィンドウとそのコンテンツを表示する部分です)。これは通常サーバーでは実行されないものです。 XサーバーなしでFirefoxで実行できることはほとんどありません。Seleniumがその1つであるかどうかはわかりません。

サーバーでFirefoxを実行するには、「仮想」Xサーバーを実行します。単純なものはXvfb( v irtual f rame b uffer X サーバー)。 X.orgサーバーディストリビューションにあります。使用例:

Xvfb :19 -screen 0 1024x768x16 & export DISPLAY=:19 firefox & 

コメント

回答

できません。 XおよびGtk +クライアントライブラリとリンクされており、それらなしでビルドすることさえ可能ではないと思います。

Firefoxヘッドレスバージョンでも GTK +はまだ必要です

回答

SeleniumはGUIテストツールなので、 Xがなくても動作するとは信じがたいです。

したがって、ヘッドレスサーバーにはGillesが提案するようなXのインストールが必要だと思います。同様の選択肢がいくつかあります。

回答

Firefoxを使用できます

  • 仮想フレームバッファ内:xvfb-run -a firefox
  • SlimerJS (組み込みのGecko /レンダリングエンジンFirefox)xcfbを使用する場合、
  • PhantomJS を組み込みWebKitとして使用し、 GhostDriver -WebKitで問題がない場合。

コメント

  • つまり
  • div id = “38f6856809″>

xvfb-run -a … 'ではなくxvfbですよね?

  • ありがとう:-)たぶんそれその間に変更されましたか?
  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です