我想知道是否可以在服务器端运行浏览器(特别是浏览器引擎)。我不只是要渲染一个页面,而是让浏览器保持打开一段时间,运行一些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
非常感谢 - 我认为这对我很有帮助 –
是的,它很可能在服务器上运行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应用程序。使用“浏览器和浏览器引擎”我的意思是我并不需要运行整个浏览器(例如包括附加组件或UI),但包含JS引擎的浏览器引擎是非常重要的。 –
有一些测试套件可以运行无头webkit,就像zombiejs http://zombie.labnotes.org/也许这会帮助你解决你的问题? – VKen