第二次设置 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");
}
}
}
} 这么干就成功了
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();
} 这次设置就成功了
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]