我试图使用Selenium用Javascript或Python编写函数来计算网站的页面加载时间。 document.ready()
仅会提供DOM加载时间,但可能会有一些document.ready()
无法检测到的AJAX调用。
Chrome网上商店中甚至有一个名为“页面加载时间”的扩展程序,它将根据我的要求计算总时间。如何复制相同类型的功能?
答案 0 :(得分:1)
您可以如下使用load
。
$(window).load(function() {
//code in here
});
在此处查看jQuery docs。另外,here可以找到另一个答案,向您展示如何设置页面计时器。
答案 1 :(得分:0)
driver.execute_script("return $.active == 0")
应该可以为您提供帮助。
$.active
返回活动Ajax请求的数量。 Link
答案 2 :(得分:0)
您可以使用硒和execute_script
方法进行尝试,我们将从window.performance.timing
获取信息,它将返回毫秒,但是如果将其除以1000
,我们将得到载入页面的秒数。
from selenium import webdriver
driver=webdriver.Chrome()
driver.get("https://example.com")
load_time = driver.execute_script(
"""
var loadTime = ((window.performance.timing.domComplete- window.performance.timing.navigationStart)/1000)+" sec.";
return loadTime;
"""
)
print(load_time)
输出
# something like this
0.803 sec.