selenium4 请求chrome 如何添加header请求头

发布时间 2023-09-11 21:55:27作者: 苹果芒

前言

  • selenium的webdriver本身没有api能做这个事情,详见issue
  • 国内的博客全抄来抄去,说selenium直接加add_argument参数就好了,弄得找了好几天找代码问题,上外网查秒解决。所以要学好计算机还是得英文呐~~
  • 我用requests登录后,获取到了认证信息,但是接下来的请求我不再使用requests,而是需要用Chrome或Firefox浏览器进行操作,页面中认证信息不是加在Cookie中,而是加在header的Security中(名称为Authorization),Selenium是不可以添加的,查询到Selenium-wire可以,具体用法如下:

解决

1. 安装selenumwire库

 

pip3 install selenium-wire

 

2.具体代码:

from seleniumwire import webdriver
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')#适用于 linux系统的 浏览器无gui模式的: 无头模式
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument("no-sandbox")
chrome_options.add_argument("--disable-extensions")
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.header_overrides = {"tmp": "tomjobs"}
driver.get("https://httpbin.org/headers")  # 可以看到请求的header头
print(driver.page_source)

参考 : https://blog.csdn.net/tomjobs/article/details/128277383