【发布时间】:2018-03-03 03:14:32
【问题描述】:
通过 Selenium WebDriver 进行自动化时,我有以下场景。
在一个窗口上,我点击一个按钮。代码将对 DB 进行查询并显示一个包含其结果的窗口。 我无法切换到新窗口。 单击按钮时父窗口关闭,我无法切换到新窗口,因为控件位于父窗口上,并且在屏幕上不可见。
有人可以帮我解决这个问题吗? 谢谢
我的代码如下:
driver.findElement(By.xpath(".//*[@id='WIN_0_560700305']/div/div")).click();
window1=driver.getWindowHandle();
driver.switchTo().window(window1);
System.out.println(driver.getTitle());
windowList = driver.getWindowHandles();
System.out.println("Number of Windows-->" + driver.getWindowHandles().size());
iterator = windowList.iterator();
String window2 = null;
while(iterator.hasNext())
{
System.out.println("Entering while loop");
window2 = (String)iterator.next();
System.out.println(driver.getTitle());
}
if (!(window1.equals(window2))){
driver.switchTo().window(window2);
System.out.println("Title of the page after - switchingTo: " +
driver.getTitle());
System.out.println("Current url" + driver.getCurrentUrl());
driver.manage().window().maximize();
}
driver.findElement(By.xpath(".//*[@id='WIN_0_540000016']/div/div")).click();
【问题讨论】:
-
子窗口在父窗口关闭之后或之前打开?
-
数据库查询完成,然后打开子窗口。父窗口被隐藏,焦点仍然在父窗口上。不知道该怎么办?