首页 > 其他分享 >通过selenium获取性能日志中的response的body

通过selenium获取性能日志中的response的body

时间:2024-03-24 23:55:06浏览次数:32  
标签:body webdriver selenium driver import performance message response

selenium == 4.14.0 以下的就不支持以下设置方法 参见:详见

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
import time
import json
# 设置 Chrome WebDriver 的路径
chrome_driver_path = r"E:\work\selenium\chromedriver.exe"  # 请替换成你的 Chrome 驱动程序的路径
 
 
options = webdriver.ChromeOptions()
path = Service(chrome_driver_path)
options.set_capability('goog:loggingPrefs', {'performance': 'ALL'}) # 开启日志性能监听
driver = webdriver.Chrome(service=path, options=options)
driver.get("https://www.baidu.com")
time.sleep(3)
performance_log = driver.get_log('performance')  # 获取名称为 performance 的日志
for i in range(len(performance_log)):
    message = json.loads(performance_log[i]['message'])
    message = message['message']['params']
    request = message.get('request')
    if(request is None):
        continue

    url = request.get('url')
    if(url == "https://www.baidu.com/"):
        # 通过requestId获取接口内容
        detail_response = driver.execute_cdp_cmd('Network.getResponseBody', {'requestId': message['requestId']})
    else:
        print("not:",url)
print( detail_response)

 

标签:body,webdriver,selenium,driver,import,performance,message,response
From: https://www.cnblogs.com/szyicol/p/18093390

相关文章

  • selenium(6)窗口,弹窗,以及iframe的操作
    1.current_window_handle  :可以获取当前窗口的句柄2.window_handles:可以获取所有窗口的句柄3.switch_to.window(handle): 可以切换到指定的窗口,其中handle是窗口的句柄。4.close() :关闭当前窗口。5.switch_to.alert():切换到浏览器弹出框同时可以使用driver.switch_to.al......
  • selenium(5)鼠标,键盘事件
    鼠标的操作click()左击context_click()右击double_click()双击move_to_element()移动鼠标到元素中间(悬停)click_and_hold()在元素上按下鼠标左键release()释放鼠标perform()执行ActionChains中存储的动作  在Selenium中,要执行一些复杂的鼠标和键盘操作,如右击、双击、......
  • My understanding of pedagogic metalanguage in "The Three-Body Problem "
    ......
  • Python学习之selenium爬取英雄联盟网页
    获取英雄联盟网页importtimeimportfake_useragentimportrequestsfromseleniumimportwebdriver#英雄联盟爬虫#selenium#pipinstallselenium#url,request方法来请求英雄联盟网页,但是获取时会存在来不及渲染的情况,即无法显示整个页面url='https://......
  • EventSourceResponse
    EventSourceResponse 是来源于 sse-starlette 库的一个类,它主要用于构建Server-SentEvents(SSE)响应。Server-SentEvents是一种允许服务器向浏览器发送实时更新的技术,常用于实现实时推送通知、股票报价更新、聊天应用等场景。在Starlette和FastAPI等基于异步的Web框架......
  • selenium(3)元素定位
    元素定位:对于对于Web自动化测试来说,就是操作页面上的各种元素,在操作元素之间需要先找到元素,换句话说就是定位元素Selenium常见的定位元素的8种方法:Id,Name,Classname,LinkText,PartialLinkText,CSSSelector,Xpath。fromseleniumimportwebdriverfromselenium.webdriver.common.by......
  • selenium(2)浏览器操作
    importtimefromseleniumimportwebdriverfromselenium.webdriver.common.byimportBydriver=webdriver.Chrome()driver.get('http://www.huangjinjiage.cn/talk/20211208/13752.html')#打开对应的网站driver.maximize_window()#浏览器最大xpath='/html/body/div[3]/......
  • 【Selenium】隐藏元素的定位和操作
    一、selenium中隐藏元素如何定位?如果单纯的定位的话,隐藏元素和普通不隐藏元素定位没啥区别,用正常定位方法就行了但是吧~~~能定位到并不意味着能操作元素(如click,clear,send_keys)二、隐藏元素如下图有个输入框和一个登录的按钮,本来是显示的 元素的属性隐......
  • MVC和.net6,API的body在过滤器中重复消费
    在MV中privateasyncTask<string>ReadPostDataAsync(HttpActionContextactionContext,CancellationTokencancellationToken){stringpostData="";varrequestStream=awaitactionContext.Request.Content.ReadAsS......
  • selenium (1)浏览器驱动
    要想selenium操纵浏览器,必须下载对应浏览器的驱动,以及正确的安装,这里就不详细说明了。 fromseleniumimportwebdriver#driver=webdriver.Chrome()fromseleniumimportwebdriver用于从selenium这个库中导入webdriver模块。这行代码使得你可以在后续的代码中使用webdriv......