欢迎访问昆山宝鼎软件有限公司网站! 设为首页 | 网站地图 | XML | RSS订阅 | 宝鼎邮箱 | 宝鼎售后问题提交 | 后台管理


新闻资讯

MENU

软件开发知识

通过 SetString allWindowsId = driver.g CAD加密 etWindowHandles(

点击: 次  来源:宝鼎软件 时间:2017-07-13

原文出处: 小坦克

本文将先容在Selenium中如那里理惩罚弹出窗口。

道理

在代码里,软件开发, 通过 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());
    }

 

附: selenium java教程 (连载中, 敬请等候)

java selenium (一) selenium 先容

java selenium (二) 情况搭建要领一

java selenium (三) 情况搭建 基于Maven

java selenium (四) 利用欣赏器调试东西

java selenium (五) 元素定位大全

java selenium (六) xpath 定位

java selenium (七) CSS 定位

java selenium (八) Selenium IDE 用法

java selenium (九) 常见web UI 元素操纵 及API利用

java selenium (十) 操纵欣赏器

java selenium (十一) 操纵弹出对话框

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

java selenium (十三) 智能期待页面加载完成

java selenium (十四) 处理惩罚Iframe 中的元素

劳务派遣管理系统