如何在Xvfb上运行无头Firefox

Joh*_*mes 6 selenium gecko centos amazon-web-services selenium-webdriver

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

什么时候从centOS运行命令python script.py它说

selenium.common.exceptions.WebDriverException: Message: Failed to start browser: permission denied
Run Code Online (Sandbox Code Playgroud)

以下是我使用的脚本:

#!/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()
Run Code Online (Sandbox Code Playgroud)

在你问之前,当我跑步时,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.
Run Code Online (Sandbox Code Playgroud)

我认为这是由于这个错误.所以我试过sudo yum install libdbus-glib-1-2但它说,No package libdbus-glib-1-2 available.

编辑2:

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

编辑3:

所以基本上运行无头火狐我需要Xvfb但是当我运行它时Xvfb :19 -screen 0 1024x768x16 &我会Initializing built-in extension GLX这个问题一样陷入困境.所以我认为问题归结为如何在Xvfb上运行无头Firefox.

最后我只想添加,Firefox版本的东西只是一团糟.

Eri*_*ric 0

发现其他人也有同样的问题,尽管你尝试过which,你能检查一下是否/usr/local/bin/firefox/firefox可行吗?