当前位置: 首页 > 面试题库 >

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

江丰羽
2023-03-14
问题内容

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

我重复我的问题: 当我启动 使用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() argument:

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
desired capability:

from selenium import webdriver

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

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

driver.close()

Actually, according to the Desired Capabilities
documentation,
setting acceptSslCerts capability to True should work for all browsers
since it is a generic read/write capability:

acceptSslCerts

boolean

Whether the session should accept all SSL certs by default.

Working demo for Firefox:

>>> from selenium import webdriver

Setting acceptSslCerts to 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()

Setting acceptSslCerts to 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()


 类似资料:
  • 我正在使用Selenium启动浏览器。如何处理要求浏览器接受或不接受证书的网页(URL)? 在Firefox中,我可能会有这样一个网站,要求我接受它的证书,如下所示: 在Internet Explorer浏览器上,我可能会得到如下内容: 在谷歌Chrome: 我重复我的问题:当我使用Selenium(Python编程语言)启动浏览器(internetexplorer、Firefox和googlec

  • 问题内容: 当我使用Selenium Webdriver打开页面时,我看到一个Chrome对话框“选择证书”。默认证书是正确的证书,因此我只需单击“确定”按钮。但是我对此有疑问。我有python代码: 之后,我想做类似的事情: 要么 问题是代码停止在drv.get(“ https://example.com/login ”)行上执行。Webdriver正在等待页面加载。在该行之前没有chrome对

  • 当我使用selenium web驱动程序打开页面时,我会看到一个chrome对话框“选择证书”。默认证书是正确的,所以我只需要单击确定按钮。但我对此有问题。我有python代码: 在那之后,我想做这样的事情: 或 问题是代码停止在行 drv.get(“https://example.com/login”)上执行。Web 驱动程序正在等待页面加载。在那行之前,没有镶边对话框。 我该怎么处理这件事?

  • 问题内容: 如何使用HtmlUnitDriver处理身份验证? 问题答案: 在Java中尝试这个似乎对我有用

  • 照片说明了一切。点击“登录”按钮后,“请填写此字段。”出现弹出消息。看起来像是javascript的东西。我想通过使用Selenium获得这个弹出消息的文本。有可能吗?以下是电子邮件输入字段的html:

  • 问题内容: 我需要从Sellercentral.amazon.de下载大量的excel文件(估计:500-1000)。手动下载不是一种选择,因为每次下载都需要单击几下,直到Excel弹出。 由于亚马逊无法为我提供具有其结构的简单xml,因此我决定自行进行自动化。首先想到的是Selenium和Firefox。 问题: 必须登录到Sellercentral,以及2要素验证(2FA)。因此,如果我登录一