我想要做的是在点击链接时切换到新的弹出子窗口。但是当我点击该链接时父窗口关闭,我无法这样做。有时候当我使用Thread.sleep(时间)但它并不总是有效时我在线程" main"中得到异常异常org.openqa.selenium.NoSuchWindowException:找不到窗口(警告:服务器未提供任何堆栈跟踪信息)。
它也无法使用隐式和显式等待。请建议一个总是有效的更好的解决方案。
JavascriptExecutor je3 = (JavascriptExecutor) driver;
je3.executeScript("arguments[0].click();",driver.findElement(By.xpath("//a[@ardbn='Yes__c']/div")));
//driver.findElement(By.xpath("//a[@ardbn='Yes__c']/div")).click();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
while(driver.getWindowHandles().size() != (size+1)){ }
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
handles = driver.getWindowHandles();
for(String windowHandle : handles)
{
if(!windowHandle.equals(handle))
{
driver.switchTo().window(windowHandle);
}
}

答案 0 :(得分:1)
您可以在初始化期间尝试以下代码:
=default