【发布时间】:2014-09-10 08:10:43
【问题描述】:
有什么方法可以在不进行任何 selenium 切换的情况下获取窗口标题?
目前我正在使用以下代码:
public boolean switchToWindowByTitle(String title){
String currentWindow = driver.getWindowHandle();
Set<String> availableWindows = driver.getWindowHandles();
if (!availableWindows.isEmpty()) {
for (String windowId : availableWindows) {
String switchedWindowTitle=driver.switchTo().window(windowId).getTitle();
if ((switchedWindowTitle.equals(title))||(switchedWindowTitle.contains(title))){
return true;
} else {
driver.switchTo().window(currentWindow);
}
}
}
return false;
}
【问题讨论】:
-
不,没有办法做到这一点。如果你想得到窗口标题,那么它应该出现在那里。
-
'好的。 driver.getWindowHandles() 是否按它们出现在页面(层次结构)上的顺序返回所有窗口处理程序?'
-
您是否有多个标签并且想要获取它们的标题?
-
没有多个标签。在应用程序中,如果用户在子窗口之外单击,我们有额外的功能会关闭所有子窗口。当我们迭代一组窗口处理程序时也会发生同样的事情。因此,我们正在寻找其他方法来做同样的事情。
标签: selenium-webdriver window-handles