如何通过selenium webdriver打开新选项卡后切换窗口范围

时间:2017-10-13 11:42:55

标签: javascript selenium selenium-webdriver scope

在selenium测试中,我通过以下方式打开一个新标签:

actions.keyDown(Keys.CONTROL).click($(By.cssSelector(".btn-xs"))).keyUp(Keys.CONTROL).perform();

在上面之后,我需要切换窗口的范围以检查此选项卡上的一些元素(但我不会使此选项卡可见,它应该被隐藏,没有焦点)。

我试图通过以下方式使用WindowHandles:

java.util.Set<String> windowHandles = driver.getWindowHandles();

但它只包含第一个初始选项卡和1个元素(虽然驱动程序中有两个打开的选项卡)。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

请试试这个

actions.keyDown(Keys.CONTROL).click($(By.cssSelector(".btn-xs"))).keyUp(Keys.CONTROL).perform();

//wait for few seconds for loading site
    for (String windows : driver.getWindowHandles()) {

                driver.switchTo().window(windows);

                if (driver.getCurrentUrl().startsWith("xyz.com")) {

                //Your Operation
                   }
                if (driver.getCurrentUrl().startsWith("yzx.com")) {
    //Your Operation
                    }


            }

在这里我做了什么,我点击重定向链接。等待几秒钟的网站加载。重定向后,我返回欲望标签链接开始,你可以给其他条件!!

希望它能帮到你