webdriver是根据句柄来识别窗口的,因为句柄可以看做是窗口的唯一标识id。
获取新窗口的思路是:先获取当前窗口句柄,然后获取所有窗口的句柄,通过排除当前句柄,来确定新窗口的句柄。
获取到新窗口句柄后,通过switchto.window(newwindow_handle)方法,将新窗口的句柄当参数传入就可以捕获到新窗口了。
具体步骤如下:
在webdriver中,可以用getWindowHandle方法来获取当前的窗口句柄;getWindowHandles获取全部窗口句柄
实现代码如下:
//得到当前窗口的句柄
String b1=driver.getWindowHandle();
//得到所有窗口的句柄
Set<String> bs=driver.getWindowHandles();
//飞哥说这个是迭代器
Iterator<String> it = bs.iterator();
while(it.hasNext())
{
String he=it.next();
if(b1.equals(he))continue;
driver.switchTo().window(he);
System.out.println("当前页面title为:"+driver.getTitle());
}
使用WebDriver获取新窗口的详细步骤与代码示例
本文详细介绍了如何使用WebDriver通过句柄识别并获取新打开的浏览器窗口,包括获取当前窗口句柄、获取所有窗口句柄、排除当前句柄以找到新窗口句柄,并最终通过switchto.window()方法捕获新窗口的过程。同时提供了完整的代码示例,便于读者理解和实践。
714

被折叠的 条评论
为什么被折叠?



