在整个互联网上阅读,但在尝试在我的测试环境中运行测试脚本时仍然无法解决以下错误
"证书不受信任,因为颁发者证书是 未知。服务器可能没有发送适当的中间件 证书。可能需要导入其他根证书。"
所有软件版本如下: 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 - 尝试手动接受证书
没有什么对我有用,让我知道是否有人可以提供帮助,我是自动化新手
答案 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)