首页 > 解决方案 > 如何在 Python Selenium 中禁用 SSL 检查以访问麦克风?

问题描述

如何禁用 Chrome 对自签名 SSL 证书的验证?

我正在尝试在 Python 中使用 Selenium 对移动 Web 应用程序进行单元测试。因为它访问浏览器的麦克风,所以它必须使用 https,即使它只是一个临时或自签名证书。

但是,当 Selenium 加载初始页面时,它会收到警告页面“您的连接不是私有的”,您必须导航“高级”按钮菜单才能覆盖错误。

无论如何要覆盖这个还是我总是必须在我的测试前加上前缀?

driver.find_element_by_id('details-button').click()
driver.find_element_by_id('proceed-link').click()

此外,即使我单击适当的按钮进行覆盖,我的测试在提示用户访问麦克风时仍然需要单击“允许”。但是,由于这不是 Web 元素,Selenium 没有办法点击它吗?是否有任何配置选项可以禁用和自动批准该访问?

标签: pythonseleniumbrowser-testing

解决方案


我相信这是一个重复的问题:

如何使用 Selenium 处理证书?

根据该答案,对于 Chrome:

对于 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()

推荐阅读