java selenium 操作弹出窗口示例代码
selenium中如何处理弹出窗口
阅读目录
- 原理
- 测试页面的HTML
- Java代码
原理
在代码里,通过 Set<String>allWindowsId=driver.getWindowHandles();
来获取到所有弹出浏览器的句柄, 然后遍历, 使用swithcto.window(newwindow_handle)方法。就可以定位到新的窗口
测试页面的HTML
<html>
<head>
<title>常见webui元素操作,及API使用</title>
<scripttype="text/javascript">
functionopen_win()
{
window.open("http://www.cnblogs.com")
}
</script>
</head>
<body>
<form>
<inputtype=buttonvalue="打开窗口"onclick="open_win()">
</form>
</div>
</body>
</html>
Java代码
publicstaticvoidtestMultipleWindowsTitle(WebDriverdriver)throwsException
{
Stringurl="E:\\StashFolder\\huoli_28@hotmail.com\\Stash\\Tank-MoneyProject\\SeleniumWebdriver\\AllUIElement.html";
driver.get(url);
//获取当前窗口的句柄
StringparentWindowId=driver.getWindowHandle();
System.out.println("driver.getTitle():"+driver.getTitle());
WebElementbutton=driver.findElement(By.xpath("//input[@value='打开窗口']"));
button.click();
Set<String>allWindowsId=driver.getWindowHandles();
//获取所有的打开窗口的句柄
for(StringwindowId:allWindowsId){
if(driver.switchTo().window(windowId).getTitle().contains("博客园")){
driver.switchTo().window(windowId);
break;
}
}
System.out.println("driver.getTitle():"+driver.getTitle());
//再次切换回原来的父窗口
driver.switchTo().window(parentWindowId);
System.out.println("parentWindowId:"+driver.getTitle());
}
以上就是关于Javaselenium操作弹窗窗口的示例,后续继续整理相关资料,谢谢大家对本站的支持!