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
相关推荐
亓才孓7 分钟前
[Class类的应用]反射的理解
开发语言·python
小镇敲码人16 分钟前
深入剖析华为CANN框架下的Ops-CV仓库:从入门到实战指南
c++·python·华为·cann
摘星编程35 分钟前
深入理解CANN ops-nn BatchNormalization算子:训练加速的关键技术
python
魔芋红茶36 分钟前
Python 项目版本控制
开发语言·python
lili-felicity43 分钟前
CANN批处理优化技巧:从动态批处理到流水线并行
人工智能·python
一个有梦有戏的人1 小时前
Python3基础:进阶基础,筑牢编程底层能力
后端·python
摘星编程1 小时前
解析CANN ops-nn中的Transpose算子:张量维度变换的高效实现
python
Liekkas Kono1 小时前
RapidOCR Python 贡献指南
开发语言·python·rapidocr
玄同7651 小时前
Python 后端三剑客:FastAPI/Flask/Django 对比与 LLM 开发选型指南
人工智能·python·机器学习·自然语言处理·django·flask·fastapi
爱吃泡芙的小白白1 小时前
环境数据多维关系探索利器:Pairs Plot 完全指南
python·信息可视化·数据分析·环境领域·pairs plot