如何强制 Firefox Selenium Webdriver(Python) 接受任何 SSL 证书

How do I force Firefox Selenium Webdriver(Python) to accept any SSL certificates

我正在尝试修复内部应用程序的测试,目前我不关心安全性(我只是希望它能正常工作)。

它给我的 SSL 警告破坏了测试。特别是您的连接不安全/ SEC_ERROR_UNKOWN_ISSUER.

我已经尝试设置 capabilities['acceptSslCerts'] = True

profile = webdriver.FirefoxProfile()
profile.accept_untrusted_certs = True

而且都不起作用。驱动程序在构建后列出的功能将 acceptSslCerts 设置为 false。

注意我使用的是 Python 和 Firefox 47。

我也切换到使用新的 marionette Firefox Webdriver,因为常规的 Firefox Webdriver 在启动时崩溃了。

问题是 Firefox 版本 47(请参阅 https://github.com/SeleniumHQ/selenium/issues/2110)。

所以你可以去等待修复Firefox/Selenium或者你降级Firefox 46.

Firefox Self-signed 证书错误现已修复:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

caps = DesiredCapabilities.FIREFOX.copy()
caps['acceptInsecureCerts'] = True
ff_binary = FirefoxBinary("path to the Nightly binary")

driver = webdriver.Firefox(firefox_binary=ff_binary, capabilities=caps)
driver.get("https://expired.badssl.com")