当前位置: 首页 > 知识库问答 >
问题:

如何处理使用硒的证书?

皇甫逸清
2023-03-14

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

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

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

在谷歌Chrome:

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

共有3个答案

皇甫宇定
2023-03-14

对于Firefox Python:

Firefox自签名证书错误现已修复:接受带木偶的ssl证书Firefox webDrive python拆分

“acceptSslCerts”应替换为“AcceptUnsecureCerts”

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")
贝浩歌
2023-03-14

对于Firefox:

ProfilesIni profile = new ProfilesIni();
FirefoxProfile myprofile = profile.getProfile("default");
myprofile.setAcceptUntrustedCertificates(true);
myprofile.setAssumeUntrustedCertificateIssuer(true);
WebDriver driver = new FirefoxDriver(myprofile);

对于Chrome我们可以使用:

DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability("chrome.switches", Arrays.asList("--ignore-certificate-errors"));
driver = new ChromeDriver(capabilities);

互联网

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);      
Webdriver driver = new InternetExplorerDriver(capabilities);
鞠嘉誉
2023-03-14

对于Firefox,您需要将accept\u untrusted\u certsFirefoxProfile()选项设置为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,您需要添加-忽略-证书-错误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,您需要设置接受SslCerts所需的功能:

from selenium import webdriver

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

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

driver.close()

实际上,根据所需功能文档,将acceptSslCerts功能设置为True应该适用于所有浏览器,因为它是一种通用的读/写功能:

承兑人

布尔值

默认情况下,会话是否应该接受所有SSL证书。

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()
 类似资料:
  • 本文向大家介绍如何处理硒中的帧?,包括了如何处理硒中的帧?的使用技巧和注意事项,需要的朋友参考一下 我们可以借助以下方法来处理Selenium中的帧- switchTo()。frame(frameNumber) 此方法使用帧ID作为参数。框架ID的索引从0开始。如果未找到框架,则会引发NoSuchFrameException。 switchTo()。frame(frameName) 此方法使用开发

  • 问题内容: 我使用 Selenium来 启动浏览器。如何处理要求浏览器接受证书的网页(URL)? 我重复我的问题: 当我启动 使用Selenium(Python编程语言)的浏览器(Internet Explorer,Firefox和Google Chrome)时,如何自动接受网站的证书? 问题答案: 对于Firefox,您需要将 选项设置为 : 对于Chrome,您需要添加参数 argument:

  • 我试图提取信息与硒和python的帮助下从这个容器"项目信息"//www.rera.mp.gov.in/view_project_details.php?id=aDRYYk82L2hhV0R0WHFDSnJRK3FYZz09但当这样做我得到这个错误 找不到元素:{“方法”:“xpath”,“选择器”:“/html/body/div/article/div2/div/div2/div2/div2”}

  • 我目前正在使用硒自动化应用程序,当单击按钮时会出现一个新的弹出窗口。我必须切换到该窗口并执行某些操作,例如搜索记录。 注意:父窗口和子窗口具有相同的标题。

  • 问题内容: 我知道,关于这个问题有很多不同的问题和很多答案…但是我听不懂… 我已经:从关闭“按原样”安装了ubuntu-9.10-desktop-amd64 + NetBeans6.7.1。代表 我需要通过HTTPS连接到某个站点。为此,我使用Apache的HttpClient。 从教程中我读到: “一旦正确安装了JSSE,通过SSL的安全HTTP通信就应该 与普通HTTP通信一样简单。” 还有一

  • 问题内容: 我必须处理打印对话框(在浏览器中单击ctrl-p时出现的对话框)。我尝试过: 但这没用。我也抓不到它的窗口句柄,因为它不是窗口… 是否可以处理这些对象?如何处理? 问题答案: 不幸的是,WebDriver无法处理这些(或任何其他浏览器或OS对话框)。此外,它们在浏览器/系统/语言设置中的外观往往有所不同,因此可能没有明确的答案。您需要检测并处理所有可能的情况,以使其在任何地方都有效。您