猿问

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

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 的代码。


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


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

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

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

但是 chrome URL 仍然显示

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

意思是 driver.get(); 不工作。

如何正确使用 TimeoutException?


肥皂起泡泡
浏览 190回答 1
1回答

HUH函数

尝试使用以下代码,driver.navigate().refresh();
随时随地看视频慕课网APP

相关分类

Java
我要回答