我正在尝试使用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-2
从here创建lib?
编辑3:
所以基本上运行无头火狐我需要Xvfb,但是当我运行Xvfb :19 -screen 0 1024x768x16 &
时,我会遇到Initializing built-in extension GLX
this问题。所以我认为问题归结为如何在Xvfb上运行无头Firefox。
最后我只想补充一点,Firefox版本的东西只是乱七八糟。
答案 0 :(得分:0)
发现其他人有相同的问题,但您尝试which
,您能检查/usr/local/bin/firefox/firefox
是否可行?