Selenium爬取HTTP网站自动跳转问题的解决

在Linux服务器上我编写了一个爬虫程序,通过Selenium+Chrome Driver的方式来进行数据爬取,其中有一个网站是HTTP的,没有启用HTTPS,在Linux上运行没有问题。最近打算把这个程序迁移到Windows上运行,但是遇到一个奇怪的问题,就是Chrome会自动把HTTP改为HTTPS,在Selenium里面看到的日志报错如下:

复制代码
[4008:19112:0116/155746.605:ERROR:ssl_client_socket_impl.cc(876)] handshake failed; returned -1, SSL error code 1, net_error -113

selenium.common.exceptions.WebDriverException: Message: unknown error: net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH
  (Session info: chrome=132.0.6834.84)

按照网上的很多帖子的介绍,测试之后都不能解决问题,例如以下的这些选项设置:

python 复制代码
options = ChromeOptions()
options.add_argument("--disable-features=AutoRedirectToHttps")
options.add_argument('--ignore-certificate-errors')
options.add_argument('--ignore-ssl-errors')
options.add_argument("--disable-insecure-content-unmasking")
options.add_argument("--allow-running-insecure-content")
options.add_argument('--disable-web-security')
options.accept_insecure_certs = True

另外也试过了在Chrome浏览器里面输入chrome://flags,然后查找https-upgrades选项,也没有找到。

最后终于找到一个设置可以禁止自动跳转到https,那就是

python 复制代码
options.add_argument("--disable-features=StrictTransportSecurity")

不过这个设置只对某些版本的Chrome才起作用,我测试了132.0.6834.83,128.0.6613.119,119.0.6020.2这三个版本,只有128.0.6613.119这个版本可以,比较奇怪,另外这个版本有一个不好的地方,就是打开这些HTTP网站测试时,会额外打开两个空白窗口,鼠标点击后才会关闭,不知道是什么原因。

另外还有一个解决方式可以不受Chrome版本限制,但是需要先打开Chrome输入要访问的HTTP网站,在网址左边会有一个显示不安全的图标提示,点击这个提示,在弹出菜单中选择网站设置,然后在不安全的内容浏览设置里面选择允许。这样的话通过Selenium再打开这个网站就不会调到HTTPS了,我推荐用这个方法。

相关推荐
测试界清流1 小时前
接口测试及常用接口测试工具
测试工具
胜天半月子10 小时前
性能测试 | 性能测试工具Jmeter的认识和基础使用
测试工具·jmeter·性能测试
草莓熊Lotso12 小时前
C++ 方向 Web 自动化测试入门指南:从概念到 Selenium 实战
前端·c++·python·selenium
安冬的码畜日常13 小时前
【JUnit实战3_03】第二章:探索 JUnit 的核心功能(二)
测试工具·junit·单元测试·junit 5
newxtc1 天前
【猿辅导-注册安全分析报告-无验证方式导致安全隐患】
开发语言·selenium·安全·yolo·安全爆破
gc_22991 天前
学习Python中Selenium模块的基本用法(19:操作下拉框)
python·selenium
我的xiaodoujiao1 天前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 19--测试框架Pytest基础 3--前后置操作应用
python·学习·测试工具·pytest
程序员三藏1 天前
Jmeter接口测试与压力测试
自动化测试·软件测试·python·测试工具·jmeter·接口测试·压力测试
一晌小贪欢2 天前
Python爬虫第6课:Selenium自动化浏览器与动态内容抓取
爬虫·python·selenium·网络爬虫·python基础·python3·pathon爬虫