提问者:小点点

硒python捕获响应时间【重复】


登录后如何捕获首页的响应时间…(首页明显不同)

许多文章被告知要等到你找到特定的元素,这在我的情况下是不可能的。另一种方法是睡眠一段时间,我现在正在做…你能让我知道任何有效的方法来知道包含多个ajax调用的主页的加载时间吗?

提前感谢。


共1个答案

匿名用户

这是一个基本脚本,它将获取页面并计算两个计时。后端性能从用户开始导航到第一个响应开始。第二个计时是前端性能,从用户开始接收第一个响应到DOM完成。

"""
Use Selenium to Measure Web Timing
Performance Timing Events flow
navigationStart -> redirectStart -> redirectEnd -> fetchStart -> domainLookupStart -> domainLookupEnd
-> connectStart -> connectEnd -> requestStart -> responseStart -> responseEnd
-> domLoading -> domInteractive -> domContentLoaded -> domComplete -> loadEventStart -> loadEventEnd
"""

from selenium import webdriver

source = "" #URL
driver = webdriver.Chrome()
driver.get(source)

navigationStart = driver.execute_script("return window.performance.timing.navigationStart")
responseStart = driver.execute_script("return window.performance.timing.responseStart")
domComplete = driver.execute_script("return window.performance.timing.domComplete")

backendPerformance = responseStart - navigationStart
frontendPerformance = domComplete - responseStart

print "Back End: %s" % backendPerformance
print "Front End: %s" % frontendPerformance

driver.quit()

功劳归于各自的所有者,从这里拿走

使用上面的代码,您可以在登录和主页之间执行脚本。然后,您将能够获得RESPONSETIME,它就是backendPerformance