9

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

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

4

2 回答 2

6

PhantomJS 做你所描述的。它基本上是一个无头浏览器 - http://phantomjs.org/

您可以通过任何服务器端语言在服务器端运行它。请参阅下面的一些 NodeJS 和 PHP 集成模块

节点JS

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 回答