Python Webdriver - Firefox配置文件 - 错误代码:SEC_ERROR_UNKNOWN_ISSUER -

时间:2018-06-10 04:38:58

标签: python-3.x selenium-webdriver browser-automation

在整个互联网上阅读,但在尝试在我的测试环境中运行测试脚本时仍然无法解决以下错误

  

"证书不受信任,因为颁发者证书是   未知。服务器可能没有发送适当的中间件   证书。可能需要导入其他根证书。"

所有软件版本如下: Firefox - 60.0.2 Python - 3.6 硒 - 3.12.0 壁虎司机--20.1

尝试以下操作并失败: 1-创建自定义firefox配置文件并尝试调用webdriver代码

 profile = webdriver.FirefoxProfile("C:/Users/username/AppData/Roaming/Mozilla/Firefox/Profiles/p88ifbjn.Sel")
 profile.set_preference('webdriver_assume_untrusted_issuer', True)
 profile.update_preferences()
 driver = webdriver.Firefox(firefox_profile=profile)

2-二进制代码 3 - 接受不受信任的代码 4 - 尝试手动接受证书

没有什么对我有用,让我知道是否有人可以提供帮助,我是自动化新手

2 个答案:

答案 0 :(得分:0)

我四处搜寻,也找不到有效的答案。有趣的是,我发现通过更新一些已经讨论过的设置,无论出于何种原因,它都可以在iPython控制台中运行,但不能在终端中运行。因此,我去比较了 about:config 中所有修改后的配置。存在三个不同的首选项。实际上,在Mac OS和Ubuntu中,更新它们确实为我带来了魔力。这是代码。请注意,您必须通过更改默认首选项来更新它们。在geckodriver版本0.23.0的Firefox 63.0.3中测试过代码。

from selenium import webdriver

profile = webdriver.FirefoxProfile()
profile.DEFAULT_PREFERENCES['frozen']['marionette.contentListener'] = True
profile.DEFAULT_PREFERENCES['frozen']['network.stricttransportsecurity.preloadlist'] = False
profile.DEFAULT_PREFERENCES['frozen']['security.cert_pinning.enforcement_level'] = 0
profile.set_preference('webdriver_assume_untrusted_issuer', False)
profile.set_preference("browser.download.folderList", 2)
profile.set_preference("browser.download.manager.showWhenStarting", False)
profile.set_preference("browser.download.dir", temp_folder)
profile.set_preference("browser.helperApps.neverAsk.saveToDisk",
                       "text/plain, image/png")
driver = webdriver.Firefox(firefox_profile=profile)

答案 1 :(得分:0)

此代码块对我有用:

from selenium import webdriver

profile = webdriver.FirefoxProfile()
profile.set_preference("security.enterprise_roots.enabled", True)

driver = webdriver.Firefox(firefox_profile=profile)