欢迎光临散文网 会员登陆 & 注册

【原创】Selenium获取请求头、响应头

2022-05-09 17:43 作者:拉灯的小手  | 我要投稿

本文仅供学习交流使用,如侵立删!

Selenium获取请求头、响应头

操作环境

  • win10 、 mac

  • Python3.9

  • selenium、seleniumwire

selenium是没有办法直接获取请求的详细Headers,很多时候我们我们是需要提取相关的参数来做进一步使用比如token之类的,这里推荐使用一个SeleniumWire模块来达到目的

Selenium-wire模块介绍

Selenium-wire官方文档 安装:pip install selenium-wire 项目介绍 Selenium Wire 扩展了 Selenium 的 Python 绑定,让您可以访问浏览器发出的底层请求。 您编写代码的方式与编写 Selenium 的方式相同,但您会获得额外的 API 来检查请求和响应并动态更改它们。

Compatibilty

  • Python 3.6+

  • Selenium 3.4.0+

  • Chrome, Firefox and Remote Webdriver supported

获取请求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()

这里就先分享这几个方法,基本上整个请求流程中所有的数据都是可以拿到的,具体可以查看官方文档或直接查看源码

资源下载

https://download.csdn.net/download/qq_38154948/85204671

本文仅供学习交流使用,如侵立删!


【原创】Selenium获取请求头、响应头的评论 (共 条)

分享到微博请遵守国家法律