selenium的官方不提供获取状态码,Content-Type,以及重定向路径的方法,并且官方说这些功能将来也不会有。java - How to get HTTP Response Code using Selenium WebDriver - Stack Overflow
非官方的方法大概有下面几种
1.通过requests重新请求一遍url,获取response里面的状态码
2.通过中间代理服务器来获取,比如selenium-wire,selenium-wire里面内建了一个代理服务器,通过代理服务器可以获取各个请求的状态码
3.通过分析chrome的performance log来获取状态码以及重定向路径
1的方法会多访问一遍网络,并且不能支持mata或js的重定向。2的方法只访问一次网络,但同样不能支持mata或js的重定向,只有3的方法只访问一次网络可以获取所有的状态。
并且1的方法在python环境上打开一些https网站还有如下bug
这个问题的原因是This error comes up when using OpenSSL 3 to connect to a server which does not support it. The solution is to downgrade the cryptography package in python: