可以在没有X服务器的情况下运行Selenium脚本吗?
我有一个用Python写的脚本,它使用了selenium RC,具体来说是webdriver。
我希望这个脚本能在提交代码后自动运行,最好能通过IE、Safari(如果可以的话)、Chrome和Firefox这些浏览器来执行。
但是我不太确定该怎么做,因为每次我在本地机器上运行这个脚本时,浏览器都会弹出来。
我听说过“saucelabs”。这是最好的解决方案吗?
1 个回答
18
是的,你需要运行一个X服务器,因为Selenium需要一个正在运行的浏览器,而浏览器需要某种类型的X服务器才能正常工作。
幸运的是,有很多种类的X服务器,其中一种叫做Xvfb,也就是X虚拟帧缓冲区,它所有的操作都是在内存中进行的,因此不需要显示屏。
维基百科上也有一些不错的例子。
此外,这里有很多关于关键词headless
、xvfb
和selenium
的问题。选择时要谨慎哦;)
[编辑]: 这里有一个不错的例子。