【问题标题】:Java selenium how to reload a webpage after TimeOutException?Java selenium 如何在 TimeOutException 后重新加载网页?
【发布时间】:2018-07-18 05:56:45
【问题描述】:
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 循环中。 一旦“skip”设置为 true,它就不会对该网页执行任何操作,并在循环的下一次迭代中连接到下一个 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?

【问题讨论】:

  • 能否分享一下for循环代码
  • 您要重试多少次?
  • 我的浏览器选项卡在 TimeoutException 之后停止接收任何进一步的命令。我用更简单的代码发布了另一个问题..你能分享你的想法吗?

标签: java google-chrome selenium web


【解决方案1】:

试试下面的代码,

driver.navigate().refresh();

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-10
  • 2021-11-13
  • 2014-09-08
  • 1970-01-01
  • 1970-01-01
  • 2016-09-06
  • 1970-01-01
相关资源
最近更新 更多