我试图打开从TAB1一个新的选项卡(现在我有两个不同的选项卡 . TAB1和TAB2),与URL中的第二个选项卡不完全加载,而是停在中间,显示选项卡为无 .
public void waitForPageLoadComplete(WebDriver driver, int specifiedTimeout) {
Wait<WebDriver> wait = new WebDriverWait(driver, specifiedTimeout);
wait.until(driverTemp -> String.valueOf(((JavascriptExecutor) driverTemp).executeScript("return document.readyState"))
.equals("complete"));
}
在上面的代码中,我让驱动程序等待特定时间正确加载页面或返回timedout,但上面的代码也没有工作,如果我使用Thead.sleep(millSec),线程等待一段时间,直到那个时候页面加载没有任何错误 . 有人可以帮助我如何在新选项卡中加载URL而不使用thread.sleep .
1 回答
首先,您必须将驱动程序切换到应执行javascript的选项卡 . 我用这个:
另一件事是javascript本身 . 要等待页面完全加载我使用这个: