seleniumwire获取页面接口数据

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

1. 先安装seleniumwire的插件

python 复制代码
pip install selenium-wire -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

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

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

python 复制代码
# from selenium import webdriver
from seleniumwire import webdriver

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

python 复制代码
driver.requests

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

python 复制代码
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
相关推荐
ss2731 分钟前
Java并发编程:DelayQueue延迟订单系统
java·python·算法
JHC0000003 分钟前
118. 杨辉三角
python·算法·面试
@游子8 分钟前
Python类属性与魔术方法全解析
开发语言·python
yuhaiqun198929 分钟前
Typora 技能进阶:从会写 Markdown 到玩转配置 + 插件高效学习笔记
经验分享·笔记·python·学习·学习方法·ai编程·markdown
我送炭你添花1 小时前
Pelco KBD300A 模拟器:06+2.Pelco KBD300A 模拟器项目重构指南
python·重构·自动化·运维开发
Swizard1 小时前
别再只会算直线距离了!用“马氏距离”揪出那个伪装的数据“卧底”
python·算法·ai
站大爷IP1 小时前
Python函数与模块化编程:局部变量与全局变量的深度解析
python
我命由我123451 小时前
Python Flask 开发问题:ImportError: cannot import name ‘Markup‘ from ‘flask‘
开发语言·后端·python·学习·flask·学习方法·python3.11
databook1 小时前
掌握相关性分析:读懂数据间的“悄悄话”
python·数据挖掘·数据分析
全栈陈序员2 小时前
【Python】基础语法入门(二十)——项目实战:从零构建命令行 To-Do List 应用
开发语言·人工智能·python·学习