您的位置:首页 > 其它

Selenium Webdriver弹出框的种种类型

2016-11-21 19:27 357 查看
转自:http://www.webdriver.org/article-32-1.html

测试过程中,我们经常会遇到许多的弹出框去处理,比如登陆的用户名密码输入,或是页面的警告,还或者是新页面弹出,本文我们就来将这些分类下,并解释下如何处理不同的弹出框。

普通弹出框 div





 





一般这种 弹出框都属于dom的一部分,我们查看一下页面源码就可以定位到改弹出框了,然后定位下右上角的那个关闭, 这里有id,所以很方便通过

dr.findElement(By.id("xxx")).click(); 就可以关掉这个弹出框了。

2、新窗口弹出框

这里我们可以看到点击open new window 这个链接以后会弹出一个新浏览器窗口.

这时,我们就需要用switch window的方法了,一般对于两个窗口来说,我们直接可以简单的switch到非当前窗口就可以了, 代码如下:

Set handles = dr.getWindowHandles();

String currentHandle = dr.getWindowHandle();

for(String handle : handles)

{

if(!handle.equals(currentHandle))

{

dr.switchTo().window(handle);

break;

}

}

如果窗口更多的话,我们就需要通过其他方式,比如窗口的title, 或是新窗口的url来判断我们需要切换的那个窗口。

 





3、Alert弹出框

最后我们介绍些Alert弹出框的情况,

1). Alert 类型:

点击ok

dr.switchTo().alert().accept();





2). Confirm 类型:

点击ok

dr.switchTo().alert().accept();

点击Cancel

dr.switchTo().alert().dismiss();



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: