我试图用Javascript或Python编写一个函数,使用Selenium来计算网站的页面加载时间。document.ready()
只会给出DOM加载时间,但可能会有一些使用document.ready()
无法检测到的AJAX调用。
在chrome web store中甚至有一个名为“页面加载时间”的扩展,它将根据我的要求计算总时间。如何复制相同类型的功能?
发布于 2018-06-19 20:19:16
您可以按如下方式使用load
。
$(window).load(function() {
//code in here
});
请在此处查看jQuery docs。另外,您还可以在here中找到另一个向您展示如何设置页面计时器的答案。
发布于 2018-06-19 20:24:43
driver.execute_script("return $.active == 0")
应该能帮到你。
$.active
返回活动Ajax请求的数量。Link
发布于 2018-06-19 20:49:02
您可以尝试使用selenium和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.
https://stackoverflow.com/questions/50936242
复制