我正在尝试以编程方式测试网站列表的加载时间。目的是大致模拟用户将感知的页面加载时间。
我的第一种方法是在循环内调用以下代码:
startTime = System.currentTimeMillis();
driver.get("http://" + url);
diff = System.currentTimeMillis() - startTime;
System.out.println("Load time was " + diff);
问题是有时我会在页面真正加载之前得到时间结果(即,我得到50ms次),所以我猜想控件在driver.get()
完成之前会交给下一条指令。
我应该怎么做才能改善这项测试?
编辑:
正如user1258245建议的那样,我可以等待元素加载,但是问题是我不知道哪些页面需要预先加载。
有两种方法可以为您提供有意义的数据。
from browsermobproxy import Server
server = Server("path/to/browsermob-proxy")
server.start()
proxy = server.create_proxy()
from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_proxy(proxy.selenium_proxy())
driver = webdriver.Firefox(firefox_profile=profile)
proxy.new_har("google")
driver.get("http://www.google.co.uk")
proxy.har # returns a HAR JSON blob
proxy.stop()
driver.quit()
从中返回的HAR文件proxy.har
,它只是一个JSON
Blob,将为您提供所需的信息。我今年早些时候在博客上写过
((JavascriptExecutor)driver).executeScript("var performance = window.performance || {};" +
"var timings = performance.timing || {};"+
"return timings;");
/* The hashmap returned will contain something like the following.
* The values are in milliseconds since 1/1/1970
*
* connectEnd: 1280867925716
* connectStart: 1280867925687
* domainLookupEnd: 1280867925687
* domainLookupStart: 1280867925687
* fetchStart: 1280867925685
* legacyNavigationStart: 1280867926028
* loadEventEnd: 1280867926262
* loadEventStart: 1280867926155
* navigationStart: 1280867925685
* redirectEnd: 0
* redirectStart: 0
* requestEnd: 1280867925716
* requestStart: 1280867925716
* responseEnd: 1280867925940
* responseStart: 1280867925919
* unloadEventEnd: 1280867925940
*/
问题内容: 我正在尝试以编程方式测试网站列表的加载时间。目的是大致模拟用户将感知的页面加载时间。 我的第一种方法是在循环内调用以下代码: 问题是有时我会在页面真正加载之前得到时间结果(即我获得50ms次),因此我猜想控件在完成之前会移交给下一条指令。 我应该怎么做才能改善这项测试? 编辑: 正如user1258245所建议的那样,我可以等待元素加载,但是问题是我不知道哪些页面需要预先加载。 问题答
我们正在尝试找到一个网站的Selenium WebDriver的页面加载时间。我们想要得到页面加载时间的多个屏幕/网页在网站,如登录和登录后,主屏幕等。 我们的driver.get()调用是针对登录URL的,
但是,对于以下所有使用chromedriver的测试,浏览器都不能成功导航到URL。 浏览器启动,瞬间显示字符数据;出现在地址栏中(就像第一个测试中一样),然后将正确的URL插入到地址栏中。但是,页面永远不会加载,你得到了标准的chrome这个网页不可用的消息,在浏览器的正文/画布上有两个按钮reload和更多。 这是已知的问题吗? 以下异常将被删除: NosuchWindowException:
问题内容: 我们如何获得使用Selenium WebDriver加载页面的准确时间? 我们使用Thread.sleep 我们隐式使用 我们使用WebDriverWait 但是我们如何获得使用Selenium WebDriver加载页面的准确时间呢? 问题答案: 如果您尝试找出使用Selenium WebDriver(又名Selenium 2)完全加载页面需要多少时间。 通常,仅在页面完全加载后,W
本文向大家介绍说出三种减少页面加载的方法(加载时间指感知的时间或实际加载的时间)相关面试题,主要包含被问及说出三种减少页面加载的方法(加载时间指感知的时间或实际加载的时间)时的应答技巧和注意事项,需要的朋友参考一下 CSS Sprites; JS、CSS源码压缩、图片大小控制合适; 网页Gzip; CDN托管; data缓存 ; 图片服务器;
本文向大家介绍Python selenium页面加载慢超时的解决方案,包括了Python selenium页面加载慢超时的解决方案的使用技巧和注意事项,需要的朋友参考一下 开发环境: win10-64 python2.7.16 chrome77 先看这样一段代码 当执行了get以后,除非网站全部加载完成,否则你只能乖乖等,什么都不能干,这是整个程序是阻塞的,get不完就别想进行下面操作 这个等