selenium-wire库:5.1.0
谷歌最新版本:121.0.6167.86
browser.get("http://url:port/#/login")访问后跳转https请求导致502,低版本谷歌不会出现此情况,使用了网上很多禁用https的方式都不生效。请教原因和解决方法

selenium-wire库:5.1.0
谷歌最新版本:121.0.6167.86
browser.get("http://url:port/#/login")访问后跳转https请求导致502,低版本谷歌不会出现此情况,使用了网上很多禁用https的方式都不生效。请教原因和解决方法

关注浏览器现在默认跳转的都是https。谷歌好像强制就是https访问。
首先,这种问题可能是因为谷歌的新版本更新了它的安全策略,开始强制使用 HTTPS,所以当你试图访问一个 HTTP 网址时,浏览器自动将其重定向到 HTTPS,但由于你的服务并没有配置 HTTPS,所以就会返回 502 错误。这不是 Selenium-wire 的问题,而是浏览器的问题。
解决这个问题的方法,就是将你的服务升级为支持 HTTPS,或者使用一个支持 HTTP 的旧版本的浏览器。如果你没有权利或者无法更改服务设置,那么你只能选择第二种方法。
以下是在selenium中禁用https的代码示例,你可以参考一下:
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('--disable-web-security')
options.add_argument('--allow-running-insecure-content')
driver = webdriver.Chrome(chrome_options=options)
driver.get('http://url:port/#/login')
在这个代码中,我们通过添加'--disable-web-security'和'--allow-running-insecure-content'参数来禁用 Chrome 的 web 安全并允许运行非安全的内容。
注意,这些参数可能在新版本中无法工作,因为新版本的浏览器通常有更严格的安全策略。
如果这些方法都试过了还是无法解决问题的话,可能需要在对应的社区或者论坛寻求帮助。