selenium3.0启动新窗口无法获取新窗口控件(noSuchElementException)

上一篇 / 下一篇  2017-01-17 22:09:21 / 个人分类:selenium

首次使用selenium3.0就遇到了麻烦,由于测试的银行内管,系统启动首页进入就有个窗口的跳转(新打开了个浏览器窗口),在获取到新窗口的句柄后一直不能获取到新窗口的组件,尝试输出新窗口的title也是正确的,就无助了,找人帮助解决了,close原来的窗口就可以了,大神给我的指点是新窗口没有获取到焦点,其实我现在还是没有弄清楚怎么能看出来新窗口没有获取到焦点的,以后的学习中总结经验再来解决吧,希望有知道的,给指点一二
大神还说要根据弹框的不同判断是alert还是自定义弹框还是新窗口,操作不同,我还是先记录下来,慢慢体会吧
晚上脑子突发奇想,试了一下就解决了昨天的疑惑:在switchTo新窗口后sleep6s再获取新窗口的组件,就成功了,原因应该是在获取新的窗口句柄后,焦点还没有转换过来就获取新窗口组件了,所以没获取到。
总结一下,现在这个问题是两个解决办法:
一:关闭原来浏览器窗口(原来窗口无用)
二:sleep6s等待新窗口获取到焦点
有一个办法查看新窗口是否获取到焦点:
WebElement element=driver.swichTo.actionElement();
element.getText();
看是否获取到新页面的内容(不知道这个办法对不对,未验证,加上这个语句就能定位到新窗口了,所以一直没验证成功)
贴下最后的代码
package selenium.wangyin;

import java.util.Iterator;
import java.util.Set;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class FirfoxNeiGuan {
public static void main(String[] args) {

String url = "http://36.0.6.197:7004/innermanage/logon_pro.jsp";
System.setProperty("webdriver.gecko.driver", "D:\\selenium\\geckodriver.exe");

WebDriver driver = new FirefoxDriver();
String mainHandle = driver.getWindowHandle();// 跳转窗口之前的窗口句柄
System.out.println("mainHandle..." + mainHandle);
driver.get(url);
Set<String> set = driver.getWindowHandles();// 创建set集合,即句柄数组
set.remove(mainHandle);
try {

driver.close();
Thread.sleep(6000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Iterator<String> handles = set.iterator();// 迭代器取得所有set集合内容

while (handles.hasNext()) {// 是否还存在句柄
String sonHandle = handles.next();// 循环取得各个元素值
System.out.println("sonHandle..." + sonHandle);
if (!sonHandle.equals(mainHandle)) {// 之前的和之后的对比,如果不同则进行窗口跳转
driver.switchTo().window(sonHandle);
/*
* try { Thread.sleep(6000);//sleep6s,如果没有这个操作,新窗口会还没有获取到焦点,
* 因此获取不到新窗口的组件 } catch (InterruptedException e) { // TODO
* Auto-generated catch block e.printStackTrace(); }
*/
System.out.println("getTitle..." + driver.getTitle());

}

}
driver.findElement(By.id("passwordTXT")).sendKeys("123");
}
}


TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-04-24  
 123456
78910111213
14151617181920
21222324252627
282930    

我的存档

数据统计

  • 访问量: 3509
  • 日志数: 1
  • 建立时间: 2017-01-17
  • 更新时间: 2017-01-17

RSS订阅

Open Toolbar