Java Selenium如何在TimeOutException之后重新加载网页?

时间:2018-07-18 05:56:45

标签: java google-chrome selenium web

driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS); //Timeout after 10 seconds

我正在使用ChromeDriver。这是我用来设置超时的代码。

try {
    System.out.println("Selenium connected to " + haruhi.link);
    driver.navigate().to(haruhi.link);  //URL to connect
} catch (UnhandledAlertException e) {
    driver.switchTo().alert().accept();
} catch (TimeoutException e) {
    System.out.println("Timeout, Skip this page");
   skip = true;
} catch (NoSuchWindowException e) {
    skip = true;
}
 if (!skip) {
...
}

这是连接到URL的代码。

此代码位于for循环内,该循环迭代URL的字符串列表。 一旦将“ skip”设置为true,它将对该网页不执行任何操作,并在下一次循环中连接到下一个URL。

我想做的是当网页被挂起(无限负载)时, 我想捕获TimeoutException,跳过该网页并连接到循环中的下一个URL。

enter image description here

但是一旦捕获到TimeoutException,代码将连接到下一个URL,但Chrome不会接收该命令。 打印出来

“硒已连接到http://gall.dcinside.com/board/comment_view/?id=comic_new1&no=5518557&page=1

但是Chrome网址仍然显示

http://gall.dcinside.com/board/comment_view/?id=comic_new1&no=5518554&page=1

表示driver.get();没用。

如何正确使用TimeoutException?

1 个答案:

答案 0 :(得分:1)

尝试以下代码,

driver.navigate().refresh();