服务器端浏览器

时间:2013-03-28 21:04:47

标签: javascript html5 browser server-side html-rendering

我想知道是否可以在服务器端运行浏览器(特别是浏览器引擎)。我不只是想渲染一个页面,而是让浏览器打开一段时间,运行一些JS,点击一下或按某些键,同时抓住图形输出。

有谁知道如何做到这一点?到目前为止,我唯一的想法是在VNC,RDP等会话中运行浏览器,但这似乎对我来说太过分了。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

是的,它很可能在服务器上运行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以及该窗口管理器中需要图形输出的任何其他应用程序。