2013-03-28 264 views
8

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

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

+0

这是你想要做的不是很明显我。 “浏览器和浏览器引擎”是什么意思? – askewchan

+1

我想在服务器上渲染一个网站,以便稍后将它分发给几个html5/JavaScript应用程序。使用“浏览器和浏览器引擎”我的意思是我并不需要运行整个浏览器(例如包括附加组件或UI),但包含JS引擎的浏览器引擎是非常重要的。 –

+0

有一些测试套件可以运行无头webkit,就像zombiejs http://zombie.labnotes.org/也许这会帮助你解决你的问题? – VKen

回答

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,并且任何其他应用程序都需要该窗口管理器中的图形输出。

+0

非常感谢您的回答,但我正在寻找更多的无头浏览器来呈现图像以供进一步处理。 –