51Testing软件测试论坛

标题: 求指点,中止页面加载的方法 [打印本页]

作者: laoshan    时间: 2016-11-10 17:17
标题: 求指点,中止页面加载的方法
当Get一个页面的时候,如果页面加载时间比较长,会一直在超时时间内等待,哪怕要定位的一些静态的内容已经被加载也要等待,很不舒服。

不知各位是怎么解决这个问题的,即在规定时间内中止页面加载?

先抛个砖,实验可以做到(针对Firefox浏览器),但是感觉这么做的味道不好,求更精准的解决方案

  1.         public static void main(String[] args) {
  2.        
  3.                 WebDriver driver = new FirefoxDriver();
  4.                 driver.manage().window().maximize();

  5.                 // 超时并不是中止页面加载,只是抛出异常
  6.                 driver.manage().timeouts().pageLoadTimeout(1, TimeUnit.SECONDS);
  7.                 try{
  8.                         driver.get("http://localhost/testweb/PageLoadTest/JS_LoadLotPic.html");
  9.                 } catch(Exception e){
  10.                         System.out.println("页面加载超时!!开始中止加载!!");
  11.                
  12.                         // 执行同步JS方法中止页面加载 —— 失效
  13.                         // ((JavascriptExecutor)driver).executeScript("document.execCommand('stop');");
  14.                        
  15.                         // 模拟Firefox 按下 Esc键方法中止加载 —— 成功
  16.                         new Actions(driver).sendKeys(Keys.ESCAPE).perform();
  17.                 }
  18.         }
复制代码

作者: 清晨一缕阳光    时间: 2016-11-11 00:07
可以通过Web driverWait()方法去判断页面元素是否出现,如果出现就认为已经加载完成,如果没有则等待加载(在超时时间内)。具体的可以百度下这个方法的使用。
作者: laoshan    时间: 2016-11-11 14:16
本帖最后由 laoshan 于 2016-11-11 14:29 编辑
清晨一缕阳光 发表于 2016-11-11 00:07
可以通过Web driverWait()方法去判断页面元素是否出现,如果出现就认为已经加载完成,如果没有则等待加载( ...

WebDriverWait类只能设置超时时间并抛出异常,但不能中止页面的加载
现在是可以确定需要的元素早就出现了,但是页面没有加载完,WebDriver就会处于等待中,因此需要中断页面的加载,不是判断元素的出现
作者: laoshan    时间: 2016-11-11 14:25
本帖最后由 laoshan 于 2016-11-11 14:28 编辑
清晨一缕阳光 发表于 2016-11-11 00:07
可以通过Web driverWait()方法去判断页面元素是否出现,如果出现就认为已经加载完成,如果没有则等待加载( ...

这种显示等待,只能判断元素,不能处理页面。catch触发的时候页面可能没有加载完全


作者: 滴答滴    时间: 2016-11-16 16:00

作者: jingzizx    时间: 2016-11-17 21:54
学习
作者: syt_1990    时间: 2019-8-1 09:34
你好,这个问题解决了吗?
作者: Real_小T    时间: 2019-8-26 01:14
本帖最后由 Real_小T 于 2020-3-5 13:45 编辑

你这个方法应该是最简单高效的一个 直接用去high吧
作者: szc123qq    时间: 2020-8-28 15:24

作者: Miss_love    时间: 2020-12-25 13:52





欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2