登陆页面跳转到新窗口后,自动关闭,源码如下:
var subWindow = window.open(url, "mainWindow", "toolbar=no,menubar=no,status=no,scrollbars,top=0,left=0,height=" + (screen.availHeight-35) + ",width=" + screen.availWidth);
if(subWindow != null){
self.top.opener = null;
self.top.open('', '_self');
self.top.close();
subWindow.focus(); //如果已打开新窗口,则将其显示在最前
}
使用句柄获取:
String currentHandle = driver.getWindowHandle();
Set<String> handles = driver.getWindowHandles();
Iterator<String> handlesIterator = handles.iterator();
while (handlesIterator.hasNext()) {
if (handlesIterator.next()==currentHandle){
continue;
}
else{
//跳转到新页面 }
}
获取不到新页面。打印所有句柄,也只有当前句柄(登陆页面),only one。。。。
怎么解决呢?是不是因为源程序打开之后关掉原来的,所以获取不到了?
求大神解决。 |