我正在尝试使用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脚本启动了,但是我在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.
我认为这是由于此 bug引起的。因此我尝试了
sudo yum install libdbus-glib-1-2
但它说:No package libdbus-glib-1-2 available.
编辑2:
所以也许我应该问(这可能是问题的答案);如何使用终端从这里获取lib并在CentOS上安装libdbus-glib-1-2
?
编辑3:
所以基本上要运行无头Firefox,我需要Xvfb,但当我运行Xvfb:19-screen 0 1024x768x16&
时,我卡在Initializing built-in extension GLX
上,就像这个问题一样。因此,我认为问题归结为如何在Xvfb上运行无头Firefox。最后,我只想说,Firefox版本的事情真是一团糟。