我要求关闭所有已打开的Firefox页面&标签除了几页。
在一个Firefox实例中,我可能会打开雅虎,谷歌,微软,GMail,Facebook。 在另一个Firefox实例中,我可能已经打开了Youtube,Adsense,StackOverflow等......
在开始执行我的Selenium Test Suite之前,我想关闭所有Firefox页面,除了GMail&的Youtube。
在QTP中,我们可以使用ChildObjects("Browser")
来实现这一目标。
有人可以告诉我实现这个的Java代码吗?
答案 0 :(得分:0)
根据您可以执行操作的页面标题。打开所有窗口后,您应该使用WindowHandlers逐个切换到所有窗口并获取它们的图块。通过检查标题,您可以关闭所有您想要的窗口。
Set<String> windows=driver.getWindowHandles();
Iterator itr=(Iterator) windows.iterator();
while(itr.hasMoreElements())
{
driver.switchTo().window((String)itr.nextElement());
System.out.println("Window title is"+driver.getTitle());
if(!driver.getTitle().contains("gmail")||driver.getTitle().contains("youtube")))
driver.close();
}