LinuxでFirefoxヘッドレスを実行する方法(例:libgtk-x11-2.0.so.0は不要)?

LinuxでFirefoxヘッドレスを実行する方法(例:libgtk-x11-2.0.so.0は不要)?

Dreamhost共有ホスティングがあり、Seleniumで使用するためにFirefox 3.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を実行するにはどうすればよいですか?

答え1

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

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

サーバーでFirefoxを実行するには、「仮想」Xサーバーを実行してください。簡単なのはXvfb(V仮想F絶頂第二クマX仕える人)。位置していますX.org サーバーのデプロイ。使用例:

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

答え2

かなり古い質問なのは分かりますが、Googleの案内でここまで来てから答えを見つけるためにしばらく検索しなければならなかったので更新された答えを追加したかったです。

Firefox 57 から Firefox を簡単にインストールし、以下を実行してヘッドレスモードで実行できます。

firefox -headless http://test.com/

ここで Firefox 開発ドキュメントをご覧ください。

答え3

X と Gtk+ のクライアントライブラリにリンクできず、それらがなければビルドできないと思います。

ヘッドレス版のFirefoxでもそれでもGTK +が必要です

答え4

あなたはできます

  • 仮想フレームバッファでFirefoxを使用する:xvfb-run -a firefox
  • 使用SlimerJS(FirefoxのGecko/レンダリングエンジン内蔵) xcfbを使用、
  • 使用PhantomJS内蔵のWebKitなので、ディスプレイやセレンサポートは必要ありません。ゴーストドライバー- WebKitがあなたに適しているかどうか。

関連情報