我想知道是否有可能在服务器端运行浏览器(具体来说是浏览器引擎)。我不仅仅是要渲染页面,而是要保持浏览器一段时间的开启状态,运行一些JS,进行一些点击或按键操作,并同时获取图形输出。
有人知道如何实现吗?到目前为止,我唯一的想法是在VNC、RDP等会话中运行浏览器,但这对我来说似乎过于复杂。
我想知道是否有可能在服务器端运行浏览器(具体来说是浏览器引擎)。我不仅仅是要渲染页面,而是要保持浏览器一段时间的开启状态,运行一些JS,进行一些点击或按键操作,并同时获取图形输出。
有人知道如何实现吗?到目前为止,我唯一的想法是在VNC、RDP等会话中运行浏览器,但这对我来说似乎过于复杂。
PhantomJS可以满足您所描述的需求。它基本上是一个无界面浏览器 - http://phantomjs.org/
您可以通过任何服务器端语言在服务器端运行它。以下是一些NodeJS和PHP集成模块
NodeJS
https://npmjs.org/package/node-phantom
https://github.com/sgentle/phantomjs-node
PHP
是的,非常可能在服务器上运行网页浏览器。例如,Ubuntu服务器可以通过安装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和其他需要图形输出的应用程序。