使用python测试某个网站的打开速度?

自己使用python的selenium框架实现了测试某个网站首页的打开速度,但是测试后发现打开速度和用firefox测试对比,总是慢个一两秒,烦请看下我的代码是否还可以优化?

我的网站特点:在刚刚打开的时候会出现一个div.mask 遮罩层,当网站加载完毕之后,该遮罩层会被去除,所以可以以此来判断网站是否加载完毕。

  
# -*- coding: utf-8 -*-
from selenium import webdriver
import time
import datetime
import os

def speedtest(url):
scrshot_pic = url + ".png"
url = "http://" + url + "/index.html"
browser = webdriver.Chrome()
browser.set_window_size(1280, 768)
browser.executable_path="chromedriver.exe"
browser.get(url)
# 开始计时
starttime = datetime.datetime.now()
# 循环判断网页是否加载完毕
for i in xrange(1000):
try:
# 如果div.mask 元素如果去除,即表明网页加载完毕,间隔100ms扫描
if(browser.find_element_by_css_selector("div.mask")):
time.sleep(0.1)
except:
break

endtime = datetime.datetime.now()

# 网页如果加载完毕,截图证明
if not os.path.exists(scrshot_pic):
time.sleep(1)
browser.save_screenshot(scrshot_pic)

browser.close()

# 返回时间
return (endtime - starttime).seconds

if __name__ == "__main__":
url_list = ["www.mysite1.com", "www.mysite2.com"]
for url in url_list:
# 每次加载所用时间集合
elapsed_time_list = []
# 总共加载时间
total_elapsed_time = 0
# 需要访问次数
visit_times = 5

print "###############################################################"
print "Loading website %s times, each elapsed time shown down:\n" % visit_times
for i in xrange(visit_times):
elapsed_time_list.append(speedtest(url))

for j in xrange(len(elapsed_time_list)):
total_elapsed_time = total_elapsed_time + int(elapsed_time_list[j])
print "%s . loading %s . elapsed time %s" % (j, url, elapsed_time_list[j - 1])

print "\nLoading website %s times, total elapsed time: %s" % (visit_times, total_elapsed_time)
print "\nLoading website %s times, average elapsed time: %.2lf\n" % (visit_times, float(total_elapsed_time)/visit_times)
评论 (0)链接2014-12-26 
德问是一个专业的编程问答社区,请 登录注册 后再提交答案