如何计算网站的页面加载时间,其中包括总时间,而不仅仅是document.ready()时间?

时间:2018-06-19 20:13:00

标签: javascript python jquery selenium document-ready

我试图使用Selenium用Javascript或Python编写函数来计算网站的页面加载时间。 document.ready()仅会提供DOM加载时间,但可能会有一些document.ready()无法检测到的AJAX调用。

Chrome网上商店中甚至有一个名为“页面加载时间”的扩展程序,它将根据我的要求计算总时间。如何复制相同类型的功能?

3 个答案:

答案 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.