laoshan 发表于 2016-11-3 16:18:54

第二次设置 pageLoadTimeout 后超时时间没有起作用的怪异问题,求解?

本帖最后由 laoshan 于 2016-11-3 16:20 编辑

设置两次pageLoadTimeout方法,第二次设置没有生效,啥子原因呢?

public class TestPageLoadTimeout {

      public static void main(String[] args){
                WebDriver driver = new FirefoxDriver();
               
                try {
                        // 这次设置的1秒超时有效
                        driver.manage().timeouts().pageLoadTimeout(1, TimeUnit.SECONDS);
                        driver.get("http://www.163.com");
                } catch (Exception e) {
                        System.out.println("163 Catch TimeOut !!");
                } finally {
                        try{
                              // 这次设置的超时10秒没有生效,sohu页面直接1秒后在finally中杀掉进程了
                              driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);
                              driver.get("http://www.sohu.com");
                        } catch (Exception e){
                              System.out.println("sohu Catch TimeOut !!");
                        } finally{
                              WindowsUtils.tryToKillByName("firefox.exe");
                        }
                }
      }
}

laoshan 发表于 2016-11-3 17:02:38

这么干就成功了

       
        public static void main(String[] args) {
                WebDriver driver = new FirefoxDriver();
                // 此1秒设置超时生效
                driver.manage().timeouts().pageLoadTimeout(1, TimeUnit.SECONDS);
                try {
                        driver.get("http://www.163.com");
                } catch (Exception e) {
                        System.out.println("aaa");
                }
               
                System.out.println("bbbbbbbbbbbbb");
                // 此30秒设置超时也可以生效
                driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
                driver.findElement(By.linkText("财经")).click();
        }

laoshan 发表于 2016-11-3 17:03:44

这次设置就成功了

       
        public static void main(String[] args) {
                WebDriver driver = new FirefoxDriver();
                // 此1秒设置超时生效
                driver.manage().timeouts().pageLoadTimeout(1, TimeUnit.SECONDS);
                try {
                        driver.get("http://www.163.com");
                } catch (Exception e) {
                        System.out.println("aaa");
                }
               
                System.out.println("bbbbbbbbbbbbb");
                // 此30秒设置超时也可以生效
                driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
                driver.findElement(By.linkText("财经")).click();
        }
页: [1]
查看完整版本: 第二次设置 pageLoadTimeout 后超时时间没有起作用的怪异问题,求解?