9

サーバー側でブラウザー (具体的にはブラウザー エンジン) を実行できるかどうか疑問に思っていました。ページをレンダリングするだけではなく、ブラウザーをしばらく開いたままにし、JS を実行し、クリックするか、キーを押して、その間にグラフィック出力を取得します。

これを達成する方法を知っている人はいますか?これまでのところ、私の唯一のアイデアは、VNC、RDP などのセッションでブラウザーを実行することでしたが、これはやり過ぎのように思えます。

4

2 に答える 2

6

PhantomJS は、あなたが説明していることを行います。これは基本的にヘッドレス ブラウザです - http://phantomjs.org/

サーバー側の任意の言語を介してサーバー側で実行できます。以下の NodeJS と PHP の統合モジュールを参照してください。

NodeJS

https://npmjs.org/package/node-phantom

https://github.com/sgentle/phantomjs-node

PHP

https://github.com/diggin/php-PhantomjsRunner

于 2013-03-29T20:43:00.327 に答える
2

はい、サーバー上で 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 を実行したり、そのウィンドウ マネージャー内でグラフィカルな出力を必要とする他のアプリケーションを実行したりします。

于 2013-03-29T20:03:28.480 に答える