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

相关推荐
程序员三藏5 小时前
如何使用Jmeter进行压力测试?
自动化测试·软件测试·python·测试工具·jmeter·测试用例·压力测试
编程乐学(Arfan开发工程师)5 小时前
42、响应处理-【源码分析】-浏览器与PostMan内容协商完全适配
java·spring boot·后端·测试工具·lua·postman
集成显卡15 小时前
PlayWright | 初识微软出品的 WEB 应用自动化测试框架
前端·chrome·测试工具·microsoft·自动化·edge浏览器
互联网杂货铺17 小时前
完美搭建appium自动化环境
自动化测试·软件测试·python·测试工具·职场和发展·appium·测试用例
测试老哥1 天前
Jmeter如何进行多服务器远程测试?
自动化测试·软件测试·功能测试·测试工具·jmeter·测试用例·性能测试
鱼鱼说测试1 天前
postman基础
测试工具·postman
程序员杰哥1 天前
Postman常见问题及解决方法
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·postman
小堃学编程1 天前
Selenium常用函数介绍
selenium·测试工具
羊米奇1 天前
selenium-自动更新谷歌浏览器驱动
selenium·谷歌浏览器驱动更新
2501_915373881 天前
Selenium 和playwright 使用场景优缺点对比
selenium·测试工具