【问题标题】:When my Selenium test tries to connect to the browser, it fails当我的 Selenium 测试尝试连接到浏览器时,它失败了
【发布时间】:2020-11-06 22:10:32
【问题描述】:

当我尝试在 Python Selenium 测试中创建 Web 浏览器时,它失败了。该消息表明 Firefox 和 Geckodriver 版本不匹配。它们都是最新的。

有没有其他人遇到过这种情况,并且知道该怎么做?

Terminal window: 
(python-tdd-book-ygR1jeFn-py3.7) rickhedin@Ricks-MBP python-tdd-book % python manage.py test functional_tests
   . . . 
  File "/Users/rickhedin/work/201106/python-tdd-book/functional_tests/tests2.py", line 25, in <module>
    browser = webdriver.Firefox(capabilities=cap, executable_path="/usr/local/bin/geckodriver")
   . . . 
selenium.common.exceptions.WebDriverException: Message: Can't load the profile. Possible firefox version mismatch. You must use GeckoDriver instead for Firefox 48+. Profile Dir: /var/folders/qs/89rdcgzj42d0nrz_v7yqpqk00000gn/T/tmp0_k9zq4q If you specified a log_file in the FirefoxBinary constructor, check it for details.

Geckodriver version:
(python-tdd-book-ygR1jeFn-py3.7) rickhedin@Ricks-MBP python-tdd-book % geckodriver -V
geckodriver 0.28.0 (c00d2b6acd3f 2020-11-03 16:29 +0200)

Firefox version: 
82.0.2 (64-bit)

【问题讨论】:

    标签: python selenium firefox geckodriver


    【解决方案1】:

    检查以确保您的驱动程序与您的浏览器版本相匹配。例如对于 chrome(对我来说),如果我的浏览器是 86.0 版,我需要一个也类似的 chrome 驱动程序,否则它将无法工作。你说他们都是现在的版本,但是现在的版本是一样的吗?

    【讨论】:

    • 嗨。嗯,不。 geckodriver 是 0.28.0,Firefox 是 82.0.2 但都是最新版本。
    • 根据this link,这两个是兼容的,所以也许你可以试试看你是否使用硒版本3.11+(如页面所述)
    • 啊!我会去做的! (在我遛狗之后。它们会交叉双腿。)
    • 我的硒似乎是 3.141.0,大于 3.11 (python-tdd-book-ygR1jeFn-py3.7) rickhedin@Ricks-MBP python-tdd-book % 诗歌显示硒名称: selenium 版本:3.141.0 描述:Selenium 的 Python 绑定
    • 我认为版本表中的 (3.14 Python) 表示版本为 3.14 的 Python。但是 Python 现在只有 3.9。一定是 Python 的 selenium 版本必须是 3.14)
    猜你喜欢
    • 2012-12-19
    • 2010-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-25
    • 1970-01-01
    • 2015-10-21
    • 2020-01-07
    相关资源
    最近更新 更多