为了账号安全,请及时绑定邮箱和手机立即绑定

java selenium (十二) 操作弹出窗口

标签:
Java

selenium 中如何处理弹出窗口

 

阅读目录

  1. 原理

  2. 测试页面的HTML

  3. Java 代码

 

原理

在代码里, 通过         Set<String> allWindowsId = driver.getWindowHandles();

来获取到所有弹出浏览器的句柄,   然后遍历,  使用swithcto.window(newwindow_handle)方法。 就可以定位到新的窗口

 

测试页面的HTML

复制代码

<html><head>    <title>常见web ui元素操作, 及API使用</title>    <script type="text/javascript">        function open_win()         {        window.open("http://www.cnblogs.com")        }    </script></head><body>    <form>        <input type=button value="打开窗口" onclick="open_win()">    </form>    </div></body></html>

复制代码

 

Java 代码

复制代码

    public static void testMultipleWindowsTitle(WebDriver driver) throws Exception    {        String url="E:\\StashFolder\\huoli_28@hotmail.com\\Stash\\Tank-MoneyProject\\Selenium Webdriver\\AllUIElement.html";        driver.get(url);        // 获取当前窗口的句柄        String parentWindowId = driver.getWindowHandle();        System.out.println("driver.getTitle(): " + driver.getTitle());                WebElement button = driver.findElement(By.xpath("//input[@value='打开窗口']"));        button.click();                Set<String> allWindowsId = driver.getWindowHandles();                // 获取所有的打开窗口的句柄        for (String windowId : 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());    }

复制代码

 

 

 


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消