Selenium 获取浏览器请求的 请求头、响应头
- selenium是没有办法直接获取请求的详细Headers,很多时候我们我们是需要提取相关的参数来做进一步使用比如token之类的
- 这里推荐使用一个SeleniumWire模块来达到目的
Selenium-wire模块:
安装:
pip install selenium-wire
Selenium Wire 扩展了 Selenium 的 Python 绑定,让您可以访问浏览器发出的底层请求。 您编写代码的方式与编写 Selenium 的方式相同,但您会获得额外的 API 来检查请求和响应并动态更改它们
获取请求headers:
from seleniumwire import webdriver def get_request_headers(): """ 获取请求头headers详细信息 """ driver = webdriver.Chrome() driver.get('https://www.baidu.com') for request in driver.requests: print('请求headers:') print(request.headers) break driver.quit()
获取响应headers :
from seleniumwire import webdriver def get_response_headers(): """ 获取响应头headers详细信息 """ driver = webdriver.Chrome() driver.get('https://www.baidu.com') for request in driver.requests: print('响应headers:') print(request.response.headers) break driver.quit()
获取所有加载的url :
from seleniumwire import webdriver def get_request_headers(): """ 获取所有加载的url """ driver = webdriver.Chrome() driver.get('https://www.baidu.com') print('获取所有加载的url:') for request in driver.requests: print(request.url) driver.quit()