记录Selenium处理谷歌浏览器https安全问题

使用selenium进行自动化测试时使用的https协议测试,浏览器会先弹出一个弹框提示该链接为私密链接,需要手动接受证书,这个时候就影响到我们的自动化测试。

解决方法:

以谷歌浏览器为例,我们可以在配置文件上加入这几行代码:

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

当使用Selenium框架打开网页并遇到“连接不安全”(通常表示为SSL/TLS证书错误,如521错误)的情况,这通常是由于以下几个原因: 1. **证书问题**:页面的SSL证书可能存在过期、不信任或者未从受信任的CA颁发等情况,浏览器认为此链接不可安全访问。 2. **自签名证书**:有些网站使用自签名的证书,而浏览器默认不信任这类证书,会显示警告。 3. **防火墙或代理设置**:防火墙规则阻止了对特定端口的连接,或者是网络代理配置不正确导致的。 4. **Selenium配置**:在模拟浏览器的过程中,如果Selenium没有正确地配置证书路径或者代理设置,也可能导致这个问题。 解决此类问题的方法有: - **忽略证书错误**:在Selenium的WebDriver中,可以使用`options.add_argument('--ignore-ssl-errors=true')`来临时忽略证书错误,但这并不推荐长期使用,因为存在安全隐患。 - **更新证书**:确保目标服务器的证书是最新的,并从权威机构获取可信的证书。 - **配置代理**:检查并调整网络环境下的代理设置,允许通过HTTPS连接。 - **指定证书路径**:对于自签名证书,你可以尝试指明证书的位置给Selenium,让它能够识别。 ```python from selenium.webdriver import ChromeOptions chrome_options = ChromeOptions() chrome_options.add_argument('--ignore-certificate-errors') # 如果有自签名证书,添加: # chrome_options.add_argument('--trust-experimental-ssh-localhost') chrome_options.load_cert_chain(cert_path='path_to_your_certificate.pem', key_path='path_to_key.pem') driver = webdriver.Chrome(chrome_options=chrome_options) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值