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?
添加回答
舉報
0/150
提交
取消