Selenium 未找到窗口(警告:服务器未提供任何stacktrace信息)
我想做的是在单击链接时切换到一个新的弹出子窗口。但当我单击该链接时,父窗口关闭,因此我无法执行此操作。有时当我使用Thread.sleep(time)时它会工作,但并不总是这样,我在Thread“main”org.openqa.selenium.NoSuchWindowException:No window found(警告:服务器没有提供任何stacktrace信息)中得到了异常 它也不适用于隐式和显式等待。请建议一个更好的解决方案,它总是有效的Selenium 未找到窗口(警告:服务器未提供任何stacktrace信息),selenium,selenium-webdriver,webdriver,Selenium,Selenium Webdriver,Webdriver,我想做的是在单击链接时切换到一个新的弹出子窗口。但当我单击该链接时,父窗口关闭,因此我无法执行此操作。有时当我使用Thread.sleep(time)时它会工作,但并不总是这样,我在Thread“main”org.openqa.selenium.NoSuchWindowException:No window found(警告:服务器没有提供任何stacktrace信息)中得到了异常 它也不适用于隐式和显式等待。请建议一个更好的解决方案,它总是有效的 JavascriptExecutor je3
JavascriptExecutor je3=(JavascriptExecutor)驱动程序;
je3.executeScript(“参数[0]。单击();”,driver.findElement(By.xpath(//a[@ardbn='Yes\uu c']]/div));
//findElement(By.xpath(“//a[@ardbn='Yes\uu c']]/div”)。单击();
driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
而(driver.getWindowHandles().size()!=(size+1)){}
driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
handles=driver.getWindowHandles();
用于(字符串windowHandle:handles)
{
如果(!windowHandle.equals(handle))
{
driver.switchTo().window(windowHandle);
}
}
您可以在初始化过程中尝试以下代码:
DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setCapability(CapabilityType.BROWSER_NAME, "IE");
capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);
capabilities.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true);
System.setProperty("webdriver.ie.driver","C://MavenTest//driver//IEDriverServer.exe");
driver = new InternetExplorerDriver();