前言
- 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