【问题标题】:Selenium Webdriver + geckodriver + python 2.6.6 + Firefox on RedHat 6.8 fails to open browserSelenium Webdriver + geckodriver + python 2.6.6 + RedHat 6.8 上的 Firefox 无法打开浏览器
【发布时间】:2018-01-02 11:33:38
【问题描述】:

我在使用 Selenium Webdriver for python 成功启动 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

请有任何想法。 . .谢谢。

【问题讨论】:

  • 您是否已注销并重新登录以开始使用新的 .bash_profile 文件?您可以尝试将 geckodriver 放在 /usr/bin/geckodriver 中,我知道这就是我拥有它的地方。
  • 嗯...我刚刚在野外发现了这条评论:github.com/SeleniumHQ/selenium/issues/… 看起来最新版本的 geckodriver 可能不适用于 FireFox 45。如果可以,请尝试升级 FireFox。跨度>
  • 上网搜索了一下,我发现,alimp5的解决方案@ [link] github.com/SeleniumHQ/selenium/issues/3884 >>> ` from selenium import webdriver caps = webdriver.DesiredCapabilities().FIREFOX ... caps[" marionette"] = False ... driver = webdriver.Firefox(capabilities=caps) ... driver.get("google.com") ... print driver.title ... driver.quit()`
  • 如果可行的话,太棒了!好工作。 :)
  • 谢谢,乔纳森。

标签: python selenium firefox redhat geckodriver


【解决方案1】:

在做了一些研究之后,我几乎肯定我的评论是正确的 - FireFox 45 和 geckodriver 0.18 之间的版本不兼容。根据geckodriver page

v0.18.0

geckodriver 现在推荐 Firefox 53 及更高版本

看起来 FireFox 45 可能与 geckodriver 不兼容。 Geckodriver 在 2015 年 4 月 9 日是 initially released,在 2015 年 3 月 8 日是 Firefox 45 was released

因此,虽然有可能让它在旧的 geckodriver 上运行,但最好的选择确实是将 FireFox 更新到 >= v53。

【讨论】:

    猜你喜欢
    • 2020-06-26
    • 2017-10-23
    • 2017-05-24
    • 2017-12-20
    • 2017-02-08
    • 2017-08-01
    • 1970-01-01
    • 2016-04-03
    • 1970-01-01
    相关资源
    最近更新 更多