Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python获取页面加载时间_Python - Fatal编程技术网

使用Python获取页面加载时间

使用Python获取页面加载时间,python,Python,我试图获得一个页面完全加载所需的时间(就像谷歌Chrome开发工具中的完成时间)。我用Python写了一些东西,但我得到的结果非常慢,不到一秒钟,这是不现实的。这就是我所拥有的: from urllib.request import urlopen from time import time class Webpage: def __init__(self, pageName, pageUrl): self.pageName = pageName sel

我试图获得一个页面完全加载所需的时间(就像谷歌Chrome开发工具中的完成时间)。我用Python写了一些东西,但我得到的结果非常慢,不到一秒钟,这是不现实的。这就是我所拥有的:

from urllib.request import urlopen
from time import time

class Webpage:
    def __init__(self, pageName, pageUrl):
        self.pageName = pageName
        self.pageUrl = pageUrl

class LoadingDetail:
    def __init__(self, webPage, loadingTimes): #Getting the webpage object, and it's loading times
        self.webPage = webPage
        self.loadingTimes = loadingTimes

pages = [
    Webpage("test", "URL"),
    Webpage("test2", "URL"),
    Webpage("test3", "URL"),
    Webpage("test4", "URL"),
]

loadingDeatils = []

for page in pages: #Going through each page in the array.
    pageLoadTimes = [] #Storing the time it took the page to load.
    for x in range(0, 3): #Number of times we request each page.
        stream = urlopen(page.pageUrl)
        startTime = time()
        streamRead = stream.read()
        endTime = time()
        stream.close()

        timeToLoad = endTime - startTime #The time it took to read the whole page.
        pageLoadTimes.append(timeToLoad)
    loadDetails = LoadingDetail(page, pageLoadTimes)
    loadingDeatils.append(loadDetails)
我得到的结果类似于
0.00011
。我搜索了,但只找到了基于硒的答案,我无法使用。
是否有只使用哪种Python的选项?Python是实现这一点的正确工具吗?我看到了JS的答案,这似乎正是我想要的

我试过了,并且能够用下面的代码测量时间,这可能会有所帮助 参考:geeksforgeks.org/timeit-python-examples/

import timeit 
mysetup = "from urllib.request import urlopen"
mycode = ''' 
urlopen('http://www.python.org')
'''
print(timeit.timeit(setup = mysetup, stmt = mycode, number = 1))

问题是我认为您正在使用urllib。Urllib只获取页面的裸html,而不执行随后“构建”页面的嵌入式java脚本调用。Selenium将执行该JS。您需要一个可以在加载时执行JS的库,这样您就可以在普通浏览器中获得实际时间。@S.Bender非常感谢!我会找一个。谢谢,但据我所知,如果我错了,请纠正我。此代码用于度量Python代码运行所需的时间。我试着看看一个网页完全加载需要多长时间。我试过python.org和google.com,并检查了其中一个大约9秒和另一个1秒的响应,所以我想它几乎可以正常工作。