gpt4 book ai didi

python - 如何使用 Selenium 处理证书?

转载 作者:IT老高 更新时间:2023-10-28 20:24:00 25 4
gpt4 key购买 nike

我正在使用 Selenium启动浏览器。我该如何处理要求浏览器接受证书的网页(URL)?

在 Firefox 中,我可能有一个类似的网站要求我接受它的证书,如下所示:

Firefox

在 Internet Explorer 浏览器上,我可能会得到如下信息:

Enter image description here

在谷歌浏览器上:

Google Chrome

我重复我的问题:当我使用 Selenium(Python 编程语言)启动浏览器(Internet Explorer、Firefox 和 Google Chrome)时,如何自动接受网站证书

最佳答案

对于 Firefox,您需要将 accept_untrusted_certs FirefoxProfile() 选项设置为 True:

from selenium import webdriver

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

driver = webdriver.Firefox(firefox_profile=profile)
driver.get('https://cacert.org/')

driver.close()

对于 Chrome,您需要添加 --ignore-certificate-errors ChromeOptions() 参数:

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument('ignore-certificate-errors')

driver = webdriver.Chrome(chrome_options=options)
driver.get('https://cacert.org/')

driver.close()

对于 Internet Explorer,您需要设置 acceptSslCerts期望的能力:

from selenium import webdriver

capabilities = webdriver.DesiredCapabilities().INTERNETEXPLORER
capabilities['acceptSslCerts'] = True

driver = webdriver.Ie(capabilities=capabilities)
driver.get('https://cacert.org/')

driver.close()

其实根据Desired Capabilities documentation ,将 acceptSslCerts 功能设置为 True 应该适用于所有浏览器,因为它是通用的读/写功能:

acceptSslCerts

boolean

Whether the session should accept all SSL certs by default.


Firefox 的工作演示:

>>> from selenium import webdriver

acceptSslCerts 设置为 False:

>>> capabilities = webdriver.DesiredCapabilities().FIREFOX
>>> capabilities['acceptSslCerts'] = False
>>> driver = webdriver.Firefox(capabilities=capabilities)
>>> driver.get('https://cacert.org/')
>>> print(driver.title)
Untrusted Connection
>>> driver.close()

acceptSslCerts 设置为 True:

>>> capabilities = webdriver.DesiredCapabilities().FIREFOX
>>> capabilities['acceptSslCerts'] = True
>>> driver = webdriver.Firefox(capabilities=capabilities)
>>> driver.get('https://cacert.org/')
>>> print(driver.title)
Welcome to CAcert.org
>>> driver.close()

关于python - 如何使用 Selenium 处理证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24507078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com