Selenium Webdriver + geckodriver + python 2.6.6 + RedHat 6.8 上的 Firefox 无法打开浏览器

Selenium Webdriver + geckodriver + python 2.6.6 + Firefox on RedHat 6.8 fails to open browser

我在使用 python 的 Selenium Webdriver 成功启动 Firefox 浏览器时遇到问题。我有以下设置参数:

Selenium Webdriver 3.4.3
Python 2.6.6
geckodriver-v0.18.0-linux64.tar.gz
firefox-45.0.1.1.el6.x86_64

现在,geckodriver 文件已解压,目前位于 /usr/local/bin 目录中,其中 rwx 一直在:

rwxrwxrwx. 1 root root 7129173 Jul 26 14:42 geckodriver

我更新了 .bash_profile 以包含如下路径:

PATH=$PATH:$HOME/bin:/usr/local/bin/geckodriver

我使用的脚本来自 Selenium-3.4.3 目录 "README.rst".

中的自述文件

脚本名称:first_selenium_script.py

from selenium import webdriver

browser = webdriver.Firefox()
browser.get('http://seleniumhq.org/')

于是,结果如下,

Traceback (most recent call last):
  File "first_selenium_script.py", line 3, in <module>
    browser = webdriver.Firefox()
  File "/usr/lib/python2.6/site-   packages/selenium-3.4.3-py2.6.egg/selenium/webdriver/firefox/webdriver.py",   line 152, in __init__
keep_alive=True)
  File "/usr/lib/python2.6/site- packages/selenium-3.4.3-py2.6.egg/selenium/webdriver/remote/webdriver.py", line 98, in __init__
self.start_session(desired_capabilities, browser_profile)
  File "/usr/lib/python2.6/site- packages/selenium-3.4.3-py2.6.egg/selenium/webdriver/remote/webdriver.py", line 188, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
  File "/usr/lib/python2.6/site- packages/selenium-3.4.3-py2.6.egg/selenium/webdriver/remote/webdriver.py", line 256, in execute
self.error_handler.check_response(response)
  File "/usr/lib/python2.6/site-packages/selenium-3.4.3-py2.6.egg/selenium/webdriver/remote/errorhandler.py", line 194, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: Unable to find a  matching set of capabilities

有什么想法请。 . .谢谢。

经过一些研究,我几乎可以肯定我的评论是正确的——FireFox 45 和 geckodriver 0.18 之间的版本不兼容。根据 geckodriver page:

v0.18.0

geckodriver now recommends Firefox 53 and greater

FireFox 45 似乎与 geckodriver 不兼容。 Geckodriver 于 2015 年 3 月 8 日 initially released on Apr 9, 2015, and Firefox 45 was released

所以虽然可能有一些机会让它在旧的 geckodriver 上工作,但最好的选择实际上是将 FireFox 更新到 >= v53。