Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium 未找到窗口(警告:服务器未提供任何stacktrace信息)_Selenium_Selenium Webdriver_Webdriver - Fatal编程技术网

Selenium 未找到窗口(警告:服务器未提供任何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

我想做的是在单击链接时切换到一个新的弹出子窗口。但当我单击该链接时,父窗口关闭,因此我无法执行此操作。有时当我使用Thread.sleep(time)时它会工作,但并不总是这样,我在Thread“main”org.openqa.selenium.NoSuchWindowException:No window found(警告:服务器没有提供任何stacktrace信息)中得到了异常

它也不适用于隐式和显式等待。请建议一个更好的解决方案,它总是有效的

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();