seleniumwire获取页面接口数据
2023-12-15 16:48:01
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
注意:seleniumwire只兼容Selenium 4.0.0+,所以如果版本不兼容,请升级selenium
2. 在初始化浏览器的时候,引用的包由selenium改为seleniumwire
# from selenium import webdriver
from seleniumwire import webdriver
3. 获取网络响应的内容,也就是如图部分的url响应:
driver.requests
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
文章来源:https://blog.csdn.net/qq_40480758/article/details/135016567
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!