我使用此代码收到NoSuchWindowException
错误。我无法切换回旧的打开窗口并返回新窗口
请查看我的代码并帮助我。
public void TC_123617()throws InterruptedException {
driver.findElement(By.id("user_login")).sendKeys("akhil");
driver.findElement(By.id("user_pass")).sendKeys("akhil");
driver.findElement(By.id("wp-submit")).click();
Thread.sleep(3000);
driver.findElement(By.cssSelector("#awebsome_oruw-2 > ul")).click();
WebElement userStatus = driver.findElement(By.xpath(".//*[@id='awebsome_oruw-2']/ul/li[11]"));
String parentWindow = driver.getWindowHandle();
driver = new FirefoxDriver();
driver .manage().window().maximize();
driver.get("http://103.16.143.96/incis/wp-login.php");
driver.findElement(By.id("user_login")).sendKeys("manager");
driver.findElement(By.id("user_pass")).sendKeys("manager");
driver.findElement(By.id("wp-submit")).click();
for (String popUpHandle : driver.getWindowHandles()) {
if(!popUpHandle.equals(parentWindow)){
driver.switchTo().window(popUpHandle);
driver.switchTo().window(parentWindow);
}
}
}
答案 0 :(得分:0)
如果要使用驱动程序在窗口之间切换,则无需创建新的驱动程序实例。 保存对当前窗口的引用。 (这样你就可以返回在你开始的窗口上执行操作。)
String parentWindow = driver.getWindowHandle();
下一步,获取所有窗口并切换到新窗口。
List<String> allWindows = driver.getWindowHandles();
for(String curWindow : allWindows){
driver.switchTo().window(curWindow);
}
现在,您可以在新窗口上执行任何操作,完成后可以使用
关闭它 driver.close();
最后,您可以切换回父窗口以使用
继续操作 driver.switchTo().window(parentWindow)