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

14 投票
1 回答
14421 浏览
提问于 2025-04-17 12:39

我有一个用Python写的脚本,它使用了selenium RC,具体来说是webdriver。

我希望这个脚本能在提交代码后自动运行,最好能通过IE、Safari(如果可以的话)、Chrome和Firefox这些浏览器来执行。

但是我不太确定该怎么做,因为每次我在本地机器上运行这个脚本时,浏览器都会弹出来。

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

1 个回答

18

是的,你需要运行一个X服务器,因为Selenium需要一个正在运行的浏览器,而浏览器需要某种类型的X服务器才能正常工作。

幸运的是,有很多种类的X服务器,其中一种叫做Xvfb,也就是X虚拟帧缓冲区,它所有的操作都是在内存中进行的,因此不需要显示屏。

维基百科上也有一些不错的例子

此外,这里有很多关于关键词headlessxvfbselenium的问题。选择时要谨慎哦;)

[编辑]: 这里有一个不错的例子

撰写回答