是否可以在没有运行X服务器的情况下运行Selenium脚本?

时间:2012-02-09 08:08:32

标签: python selenium selenium-rc selenium-webdriver headless

我有一个使用selenium RC的python脚本;特别是webdriver。

我希望让脚本作为post-commit钩子运行,理想情况下通过IE,Safari(如果可能),Chrome& Firefox浏览器。

但我不确定我需要做什么,因为每次我在本地机器上运行时,都会弹出一个浏览器。

我听说过“酱油”。这是最好的解决方案吗?

1 个答案:

答案 0 :(得分:11)

是的,你需要让X服务器运行,因为Selenium需要一个正在运行的浏览器,浏览器需要某种X服务器才能运行。

幸运的是,有许多类型的X服务器,其中一个是Xvfb,也就是X虚拟帧缓冲,可以在内存中执行所有操作,因此不需要屏幕。

维基百科还有一些nice examples

此处还有很多关于关键字headlessxvfbselenium的问题。明智地选择;)

[编辑] Here's a nice example