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了,我推荐用这个方法。

相关推荐
0和1的舞者3 小时前
高并发论坛系统:单元测试 + 接口自动化 + 性能测试 + CI/CD 全链路测试报告
java·测试开发·测试工具·jmeter·pytest·测试·测试报告
小杨的博客6 小时前
Java + Selenium实现浏览器打印功能
java·selenium
敷衍一下X6 小时前
Selenium元素定位
python·selenium·测试工具
汽车仪器仪表相关领域8 小时前
SSI-4 PLUS 简易传感器接口:多场景采集 “即插即用” 的终极解决方案
功能测试·测试工具·单元测试·压力测试·可用性测试·模块测试·安全性测试
Saniffer_SH10 小时前
【高清视频】4小时带你了解Saniffer公司针对PCIe Gen6测试的最新白皮书15.X
网络·人工智能·驱动开发·嵌入式硬件·测试工具·计算机外设·压力测试
怪侠_岭南一只猿11 小时前
爬虫阶段三实战练习题二:使用 Selenium 模拟爬取拉勾网职位表
css·爬虫·python·selenium·html
Zwj-c1 天前
【测试报告】个人博客系统测试报告(功能测试、自动化测试、Bug描述)
功能测试·selenium·测试用例·bug
Saniffer_SH1 天前
【高清视频】SerialTek PCIe 5.0/6.0 协议分析仪API自动化编程演示
网络·人工智能·驱动开发·嵌入式硬件·测试工具·自动化·压力测试
bdy_y91 天前
自动化|selenium+python||通过cookies登录CSDN失败原因总结
爬虫·selenium·自动化
测试19981 天前
自动化测试:selenium详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例