サーバー側でブラウザ(具体的にはブラウザエンジン)を実行できるかどうかは疑問でした。ページをレンダリングするだけでなく、ブラウザを開いたままにしたり、JSをいくつか実行したり、いくつかのクリックをしたり、いくつかのキーを押したりしながら、グラフィカルな出力を取得します。サーバー側のブラウザ
誰でもこれを達成する方法を知っていますか?これまでのところ、私の唯一のアイデアは、VNC、RDPなどのセッションでブラウザを実行することでしたが、これは私にとって過酷のようです。
サーバー側でブラウザ(具体的にはブラウザエンジン)を実行できるかどうかは疑問でした。ページをレンダリングするだけでなく、ブラウザを開いたままにしたり、JSをいくつか実行したり、いくつかのクリックをしたり、いくつかのキーを押したりしながら、グラフィカルな出力を取得します。サーバー側のブラウザ
誰でもこれを達成する方法を知っていますか?これまでのところ、私の唯一のアイデアは、VNC、RDPなどのセッションでブラウザを実行することでしたが、これは私にとって過酷のようです。
PhantomJSはあなたの説明をします。それは基本的にヘッドレスのブラウザです - http://phantomjs.org/
あなたは任意のサーバー側の言語でサーバー側を実行することができます。 NodeJSについては、以下のいくつかの統合モジュールを参照してPHP
NodeJS
https://github.com/sgentle/phantomjs-node
PHP
ありがとうございます - これは私に多くの助けになると思います –
はい、サーバー上でWebブラウザを実行することは非常に可能です。たとえば、Ubuntu Serverでは、firefoxとxserverをインストールするだけで、firefoxを実行できます。
その後$ sudo apt-get install firefox
$ sudo apt-get install xserver-xorg
Firefoxのランニングタイプを取得する:
$ X
まだディスプレイ上で実行中のアプリケーションがないので、これは空白の画面であなたを残しますが。 Ctrl-Alt-F2を押して、新しい端末に戻る必要があります。 Ctrl-Alt-F1はXプロセスを保持します。
新しい端末にログインし、環境の表示変数を0に設定してFirefoxを起動します。
$ export DISPLAY=:0
$ firefox &
Firefoxは今は動作しているはずですが、それにはいくつかの癖があります。これを進めるには、ウィンドウマネージャをインストールする必要があります。私は軽量のタイリングウィンドウマネージャーを使って、firefoxと、そのウィンドウマネージャー内のグラフィック出力が必要な他のアプリケーションを実行します。
あなたの答えはありがとうございましたが、画像をさらに処理するためにヘッドレスブラウザを探していました。 –
それはあなたが何をしたいのか私にはない明らかです。 「ブラウザごとにブラウザエンジン」とはどういう意味ですか? – askewchan
私は後でいくつかのhtml5/JavaScriptアプリケーションにそれを配布するために、サーバー上のWebサイトをレンダリングしたいと思います。 「ブラウザとブラウザエンジン」では、アドオンやUIなどのブラウザ全体を実行する必要はありませんが、JSエンジンを含むブラウザエンジンは本当に重要です。 –
zombiejsのようなヘッドレスWebkitを実行できるテストスイートがあります。http://zombie.labnotes.org/おそらくあなたの問題に役立つでしょうか? – VKen