切换到特定选项卡并关闭其他选项卡

时间:2017-06-29 06:09:30

标签: java selenium selenium-webdriver

我在Chrome中打开一个网站,但在此之前我每次运行都会获得chrome设置窗口。我想切换到新窗口并关闭上一个。我尝试过driver.close()和driver.quit()但整个窗口都关闭了。

1)如何找出哪一个作为子窗口,哪一个作为父窗口? 2)如何以“铬设置”关闭窗口? 以下是我正在使用的代码:

System.setProperty(“webdriver.chrome.driver”,“.// chromedriver.exe”);

        WebDriver driver = new ChromeDriver();
        driver.get("http://demoqa.com/");
        Thread.sleep(2000);
        //windows maximize
        driver.manage().window().maximize();
        String winHandleBefore = driver.getWindowHandle();
        // Switch to new window opened
        for(String winHandle : driver.getWindowHandles()){
            driver.switchTo().window(winHandle);
        }
        driver.switchTo().window(winHandleBefore); 

1 个答案:

答案 0 :(得分:1)

想法是获取当前窗口id(父级)并获取包括当前窗口在内的所有窗口的id。然后逐个切换到所有可用窗口并检查它是否是父窗口然后关闭它。

假设您现在打开了两个标签,并且您位于第一个标签页(父标签)中。在这种情况下,它将是安全选项卡。

application/x-www-form-urlencoded

注意:由于在这种情况下我们只有两个标签,这个解决方案可能不是最好的,但这应该有效。感谢。