Python Selenium 抓取 network 网络请求

这篇具有很好参考价值的文章主要介绍了Python Selenium 抓取 network 网络请求。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

需求背景

使用 Python + Selenium 进行 UI 自动化测试时,需要根据 api 接口的返回信息(比如创建接口返回的对象编号或者 id),进行下一步的测试。
手工测试时,会根据创建时间或者其它业务信息综合判断,来找到刚刚提交的信息。但是自动化测试在并发测试的时候就容易判断错误。

解决方案

import json
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

caps = DesiredCapabilities.CHROME
caps['goog:loggingPrefs'] = {'performance': 'ALL'}
driver = webdriver.Chrome(desired_capabilities=caps)
driver.get('https://stackoverflow.com/questions/52633697/selenium-python-how-to-capture-network-traffics-response')

def process_browser_log_entry(entry):
    response = json.loads(entry['message'])['message']
    return response

browser_log = driver.get_log('performance') 
events = [process_browser_log_entry(entry) for entry in browser_log]
events = [event for event in events if 'Network.responseReceived' in event['method']]

driver.execute_cdp_cmd('Network.getResponseBody', {'requestId': events[0]["params"]["requestId"]}) 

此处 206 为浏览器第一个 network 示例,可以通过遍历 events ,根据 url 来确定需要抓取的网络请求
Python Selenium 抓取 network 网络请求

参考

https://stackoverflow.com/questions/52633697/selenium-python-how-to-capture-network-traffics-response文章来源地址https://www.toymoban.com/news/detail-509938.html

到了这里,关于Python Selenium 抓取 network 网络请求的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [Python] 用 Docker + Python + Selenium 抓取

    ● 描述方法 根据目标元素是否具有id、class 等属性,描述方法略有不同。 当目标元素具有 id 和 class 等属性时 //p[@id=\\\"sum_milage\\\"] 以指定目标元素的形式进行描述。 拆开看看里面的东西, // : ノードpathを記述する。(「//」はルートからのpathの省略形) p : 要素の種類を記述 @i

    2024年04月24日
    浏览(39)
  • Python Selenium绕过Cloudflare抓取网页

    Cloudflare和很多其他网站一样会检测访问是否为Selenium bot,其中一项为检测Selenium运行时出现的特有js变量。 这里主要包括了是否含有\\\"selenium\\\"/ \\\"webdriver\\\"的变量或者含有\\\"$cdc_\\\"/\\\"$wdc_\\\"的文件变量。 每个driver的检测机制会不一样,此处给出的方案基于chromedriver。 1. Undetected-chromedri

    2024年02月11日
    浏览(67)
  • 使用Python和Selenium抓取网页内容

    采集动态网页是困扰许多人的难题,不妨使用 Python 和 Selenium抓取网页数据。 微信搜索关注《Python学研大本营》,加入读者群,分享更多精彩 你是否对从网站提取数据感兴趣,但发现自己被网络抓取的复杂性所困扰?不要害怕,我们在这篇文章中将展示如何利用 Selenium 和

    2024年02月07日
    浏览(65)
  • Python网页抓取- python selenium使用方法和代码示例

    Selenium可以模拟网页操作,抓取页面内容,主要通过webdriver模块实现,为了方便理解,按照实例的操作步骤逐一介绍(函数参数不具体展开,参考下面代码实例即可理解): 获取browser实例 通过webdriver.Chorme(), webdriver.Edge(), webdriver.Firefox(), 来获取browser实例: browser = webdriver.C

    2024年01月23日
    浏览(67)
  • python使用selenium库如何抓取一幅图片

    要使用Python的Selenium库抓取一幅图片,你需要执行以下步骤: 安装Selenium库(如果你还没有安装的话): pip install selenium 下载对应浏览器的WebDriver。Selenium本身不直接控制浏览器,而是通过WebDriver与浏览器交互。你需要下载与你的浏览器版本相匹配的WebDriver。例如,如果你使

    2024年03月17日
    浏览(75)
  • 100天玩转python——day67 使用Selenium抓取网页动态内容

    根据权威机构发布的全球互联网可访问性审计报告,全球约有四分之三的网站其内容或部分内容是通过JavaScript动态生成的,这就意味着在浏览器窗口中“查看网页源代码”时无法在HTML代码中找到这些内容,也就是说我们之前用的抓取数据的方式无法正常运转了。解决这样的

    2024年02月09日
    浏览(51)
  • 如何使用Python的Selenium库进行网页抓取和JSON解析

    随着互联网的快速发展,网页抓取和数据解析在许多行业中变得越来越重要。无论是电子商务、金融、社交媒体还是市场调研,都需要从网页中获取数据并进行分析。Python的Selenium库作为一种自动化测试工具,已经成为许多开发者的首选,因为它提供了强大的功能和灵活性。

    2024年02月10日
    浏览(281)
  • selenium 捕获网络请求

    之前分享过CDP的知识,现在有一个需求需要在selenium自动化时捕获网络请求,这里记录一下。 书接上回:浏览器自动化必须知道CDP协议 开启日志记录 首先,我们要开启浏览器的日志记录,首先需要配置一个capabilities,它允许定义浏览器的一些特性。 在最新的selenium的版本中

    2024年04月09日
    浏览(40)
  • Python网络爬虫-WebSocket数据抓取

    目录 前言 1、WebSocket请求的分析通常涉及以下几个方面: 2、利用WebSocket爬取数据 总结 最后,创作不易!非常感谢大家的关注、点赞、评论啦!谢谢三连哦!好人好运连连,学习进步!工作顺利哦!  博主介绍:✌专注于前后端、机器学习、人工智能应用领域开发的优质创作

    2024年04月27日
    浏览(40)
  • 网络请求未知错误 CLEARTEXT communication to XX not permitted by network security policy 问题解决方案

    问题: 在进行网络请求时,日志中打印 CLEARTEXT communication to XX not permitted by network security policy 原因: Android P系统网络访问安全策略升级,限制了非加密的流量请求 Android P系统限制了明文流量的网络请求,之下的版本没有影响,所以okhttp3会抛出该异常。 解决方案: 方案1:降

    2024年02月11日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包