使用 Selenium 时,如何从浏览器控制台或使用 Chrome 驱动程序方法访问 Chrome 性能工具中的数据?
我特别对获取页面加载时间感兴趣。在顶部图表中,我可以看到最后一个元素在1700-1800 毫秒左右加载。底部的事件日志显示,最后一个元素在页面重新加载后的1720.1 毫秒开始加载(并在几毫秒内完成)。
我尝试使用这样的性能计时接口:
console.log(performance.timing.loadEventEnd -
performance.timing.navigationStart)
357
Run Code Online (Sandbox Code Playgroud)
但我猜它衡量的是其他一些表现。loadEventEnd的navigationStart属性中值最极端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
当使用 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
核心概述统计信息中 Apache Solr Admin UI 中的“当前”字段是什么意思?我似乎无法在相关文档页面中找到任何有关它的信息。我正在使用 7.4 版。
删除元素的时间复杂度是collections.deque多少?
例如:
deq = collections.deque([1, 2, 3])
del deq[1]
Run Code Online (Sandbox Code Playgroud)