如何在Xvfb上运行无头Firefox

时间:2017-09-06 13:12:13

标签: amazon-web-services selenium selenium-webdriver centos gecko

我正在尝试使用geckodriver运行webdriver。我已经安装了selenium gecko,firefox和python27。我的文件夹有脚本和geckodriver。

当我从centOS运行命令python script.py时,它说

selenium.common.exceptions.WebDriverException: Message: Failed to start browser: permission denied

以下是我正在使用的脚本:

#!/usr/bin/env python
from pyvirtualdisplay import Display
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

binary = FirefoxBinary('/usr/local/firefox')
display = Display(visible=0, size=(800, 600))
display.start()

browser = webdriver.Firefox(firefox_binary=binary)

browser.get('http://www.google.com')
print browser.title
browser.quit()

display.stop()

在你提问之前,当我运行whereis firefox时,我得到firefox: /usr/local/bin/firefox /usr/local/firefox

修改:

我运行sudo yum -y install firefox Xvfb libXfont Xorg之后启动了python scipt,但我在geckdriverlog上收到错误说:

XPCOMGlueLoad error for file /usr/local/firefox/libxul.so:
libdbus-glib-1.so.2: cannot open shared object file: No such file or directory
Couldn't load XPCOM.

我认为这是由于this错误造成的。因此,我尝试sudo yum install libdbus-glib-1-2,但它说No package libdbus-glib-1-2 available.

编辑2:

所以也许我应该问(这可能是问题的答案); 如何在CentOS上使用终端安装libdbus-glib-1-2here创建lib?

编辑3:

所以基本上运行无头火狐我需要Xvfb,但是当我运行Xvfb :19 -screen 0 1024x768x16 &时,我会遇到Initializing built-in extension GLX this问题。所以我认为问题归结为如何在Xvfb上运行无头Firefox。

最后我只想补充一点,Firefox版本的东西只是乱七八糟。

1 个答案:

答案 0 :(得分:0)

发现其他人有相同的问题,但您尝试which,您能检查/usr/local/bin/firefox/firefox是否可行?