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ヘッドレスモードでGTK3がインストールされたままであることに注意してください。私の知る限り、この問題は今では解決されています。
回答
Firefoxは実行できません必要なすべてのGtkライブラリがなくても、ライブラリをインストールすることで簡単に解決できます。通常、Firefoxはパッケージ管理システムを介してインストールします。これにより、必要なすべてのライブラリが取得されます。
サーバーでFirefoxを実行するには、「仮想」Xサーバーを実行します。単純なものはXvfb( v irtual f rame b uffer X サーバー)。 X.orgサーバーディストリビューションにあります。使用例:
Xvfb :19 -screen 0 1024x768x16 & export DISPLAY=:19 firefox &
コメント
- 素晴らしい、歓声を上げるGilles、これで完了です。Xvfbを実行するのに役立つ記事も見つかりました: alittlemadness.com / 2008/03/05 / running-selenium-headless 、および blog.kabisa.nl/2010/05/24/ …
回答
できません。 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ですよね?