首页 新闻 赞助 找找看

selenium+java自动化

0
悬赏园豆:10 [已解决问题] 解决于 2017-12-13 17:48

selenium自动化测试A浏览器页面某个元素点击完,会弹出新浏览器B页面,A和B不在同一个浏览器里面,把B关闭以后,定位不到A浏览器里面页面的元素;怎么解决下。

眈眈逐逐的主页 眈眈逐逐 | 初学一级 | 园豆:185
提问于:2017-12-13 15:55
< >
分享
最佳答案
0

A和B是不在同一个窗口吧

B关闭后 driver句柄要回到A窗体上才能定位A上面元素

具体参考 https://q.cnblogs.com/q/100953/

收获园豆:10
ycyzharry | 高人七级 |园豆:25639 | 2017-12-13 17:20

String currentWindow = driver.getWindowHandle();//获取当前窗口句柄
Set<String> handles = driver.getWindowHandles();//获取所有窗口句柄(A+B)
Iterator<String> it = handles.iterator();//判断是否等于A句柄,是就继续循环,否则就跳出去,并关闭窗口。
while (it.hasNext()) {
String handle = it.next();
if (currentWindow.equals(handle))
continue;
driver.switchTo().window(handle);
driver.close();//关闭弹出页面
driver.switchTo().window(currentWindow);//转到A窗口
}

眈眈逐逐 | 园豆:185 (初学一级) | 2017-12-13 17:47

谢谢你,现在解决了 

眈眈逐逐 | 园豆:185 (初学一级) | 2017-12-13 17:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册