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操作弹窗窗口的示例,后续继续整理相关资料,谢谢大家对本站的支持!