当前位置:   article > 正文

seleniumwire获取页面接口数据

seleniumwire

selenium并不支持获取响应的数据,我们可以使用selenium-wire库,selenium-wire扩展了 Selenium 的 Python 绑定,可以访问浏览器发出的底层请求。 编写的代码与 Selenium 的方式相同。

1. 先安装seleniumwire的插件

pip install selenium-wire -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
  • 1

注意:seleniumwire只兼容Selenium 4.0.0+,所以如果版本不兼容,请升级selenium

2. 在初始化浏览器的时候,引用的包由selenium改为seleniumwire

# from selenium import webdriver
from seleniumwire import webdriver
  • 1
  • 2

3. 获取网络响应的内容,也就是如图部分的url响应:

driver.requests
  • 1

在这里插入图片描述

4. driver.requests返回的是一个列表,遍历每个url来获取想要的url响应信息。

for request in driver.requests:
    if request.response:
        # 判断列表数据的接口在不在获取的请求中
        if '/sugrec' in request.url:
            print(
                # 请求方式
                request.method,
                # 获取请求参数
                request.body,
                # 获取请求头
                request.headers,
                # 获取结果的状态码
                request.response.status_code,
                # 获取请求的返回值
                request.response.body
            )
            break
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/286151
推荐阅读
相关标签
  

闽ICP备14008679号