将Python Selenium WebDriver与Firefox GeckoDriver

时间:2017-03-03 09:39:10

标签: python selenium firefox ssl geckodriver

我正在更新我们用于内部Selenium测试的Firefox版本。作为其中的一部分,我知道我需要使用GeckoDriver,就像我们需要使用ChromeDriver for Chrome一样。它似乎全部都在探测,但软件测试使用自签名的ssl证书,它将在继续之前为您提供“不受信任的”证书警告。为了解决这个问题,我有以下代码:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

profile = webdriver.FirefoxProfile()
profile.accept_untrusted_certs = True
capabilities = DesiredCapabilities.FIREFOX
capabilities['acceptSslCerts'] = True
firefox_log = "<path to firefox log>"

DRIVER = webdriver.Firefox(firefox_profile=profile, executable_path=<path to gecko driver exe>, capabilities=capabilities, log_path=firefox_log)

然而,当测试运行时,它会运行/打开Firefox,但它会立即出现错误:

WebDriverException: Message: Reached error page: about:certerror?e=nssBadCert&u=https%3A//10.10.10.10/&c=UTF-8&f=regular&d=10.10.10.10%20uses%20an%20invalid%20security%20certificate.%0A%0AThe%20certificate%20is%20not%20trusted%20because%20it%20is%20self-signed.%0AThe%20certificate%20is%20only%20valid%20for%20%3Ca%20id%3D%22cert_domain_link%22%20title%3D%22amnesiac%22%3Eamnesiac%3C/a%3E%0A%0AError%20code%3A%20%3Ca%20id%3D%22errorCode%22%20title%3D%22SEC_ERROR_UNKNOWN_ISSUER%22%3ESEC_ERROR_UNKNOWN_ISSUER%3C/a%3E%0A

我知道这个区域有一个错误,但我认为它是固定的。我错过了什么吗?

版本信息:

  • Firefox版本:51.0.1
  • GeckoDriver版本:0.14.0
  • Selenium版本:3.0.2

1 个答案:

答案 0 :(得分:0)

我正面临这个问题,试图让这个功能在.NET中为我工作。但我确实注意到你使用的是Firefox 51.0.1。虽然这个问题的修复程序已经存在,但是(我是beileve)GeckoDriver 0.11.0它依赖于Firefox中的一个错误的修复,根据original bug它是VERIFIED FIXED in Firefox 52。所以我会尝试更新Firefox,因为52成为稳定版本2016年3月7日。希望有所帮助。

相关问题