小编Max*_*lov的帖子

Chrome:性能数据 API

问题描述

使用 Selenium 时,如何从浏览器控制台或使用 Chrome 驱动程序方法访问 Chrome 性能工具中的数据?

我特别对获取页面加载时间感兴趣。在顶部图表中,我可以看到最后一个元素在1700-1800 毫秒左右加载。底部的事件日志显示,最后一个元素在页面重新加载后的1720.1 毫秒开始加载(并在几毫秒内完成)。

在此输入图像描述

到目前为止我尝试过的

我尝试使用这样的性能计时接口:

console.log(performance.timing.loadEventEnd - 
performance.timing.navigationStart)
357
Run Code Online (Sandbox Code Playgroud)

但我猜它衡量的是其他一些表现。loadEventEndnavigationStart属性中值最极端timing,其差异仅为357(ms)。

我还尝试像这样使用 Selenium 记录性能信息(从这里获取一些想法并用 Python 重写):

import time
import json
import copy
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.chrome.options import Options

caps = copy.deepcopy(DesiredCapabilities.CHROME)
caps['loggingPrefs'] = {'performance': 'ALL'}
chromedriver_options = Options()
chromedriver_options.add_argument("--headless")
chromedriver_options.add_argument("--window-size=1920,1080")
chromedriver_options.add_argument("--log-level=3") # suppress selenium logging to stdout
driver = webdriver.Chrome(chrome_options=chromedriver_options, executable_path='chromedriver.exe', desired_capabilities=caps)
driver.set_window_position(0, …
Run Code Online (Sandbox Code Playgroud)

python performance selenium google-chrome-devtools selenium-webdriver

5
推荐指数
1
解决办法
6787
查看次数

Chrome DevTools 获取 websocket 地址

当使用 Chrome 作为 Selenium Webdriver 时,如下所示:

from selenium import webdriver
driver = webdriver.Chrome(executable_path='chromedriver.exe')
driver.close()
Run Code Online (Sandbox Code Playgroud)

标准输出的第一行始终是这样的:

DevTools listening on ws://127.0.0.1:13007/devtools/browser/53aa377a-3789-4a8a-a565-dfd0f3622d38
Run Code Online (Sandbox Code Playgroud)

我怎样才能在代码中获得这个地址?driver我没有看到任何可能具有此信息的实例的明显方法或属性(仅从名称判断) 。

python selenium google-chrome google-chrome-devtools selenium-webdriver

5
推荐指数
2
解决办法
1928
查看次数

Solr Admin UI:核心统计中“当前”字段的含义

核心概述统计信息中 Apache Solr Admin UI 中的“当前”字段是什么意思?我似乎无法在相关文档页面中找到任何有关它的信息。我正在使用 7.4 版。

Solr Admin UI 核心概述统计信息

solr

4
推荐指数
1
解决办法
2247
查看次数

时间复杂度:删除双端队列的元素

删除元素的时间复杂度是collections.deque多少?

例如:

deq = collections.deque([1, 2, 3])
del deq[1]
Run Code Online (Sandbox Code Playgroud)

python algorithm time-complexity deque data-structures

4
推荐指数
1
解决办法
77
查看次数