首页
论坛
课程
招聘
[原创]【原创】Selenium获取请求头、响应头
2022-5-9 17:44 2910

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

2022-5-9 17:44
2910

<table><tr><td bgcolor=orange>本文仅供学习交流使用,如侵立删!</td></tr></table>


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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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

1
2
3
4
5
6
7
8
9
10
11
12
13
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()

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


 

<table><tr><td bgcolor=orange>本文仅供学习交流使用,如侵立删!</td></tr></table>



[招生]科锐逆向工程师培训46期预科班将于 2023年02月09日 正式开班

收藏
点赞0
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回