使用webdriver关闭除第一个选项卡/主选项卡以外的所有打开的选项卡

Sri*_*kka 11 java selenium tabs webdriver selenium-webdriver

任何人都可以告诉我如何使用webdriver关闭除第一个选项卡/主选项卡以外的所有打开的选项卡?

我在下面尝试过,但它也关闭了所有标签,包括第一个标签.

public static void closeTabs() {
    String wh1=driver.getWindowHandle();
    String cwh=null;
    while(wh1!=cwh)
    {   
    new Actions(driver).sendKeys(Keys.CONTROL).sendKeys(Keys.NUMPAD1).perform();
    driver.findElement(By.tagName("body")).sendKeys(Keys.CONTROL, Keys.TAB);
    cwh=driver.getWindowHandle();
    driver.findElement(By.tagName("body")).sendKeys(Keys.CONTROL+"w");
    }
}
Run Code Online (Sandbox Code Playgroud)

请帮我.

Rob*_*ham 25

获取所有窗口句柄然后遍历它们,将webdriver切换到新句柄,然后调用close方法.显然,跳过这个原始手柄,然后切换回剩余的手柄.

就像是;

    String originalHandle = driver.getWindowHandle();

    //Do something to open new tabs

    for(String handle : driver.getWindowHandles()) {
        if (!handle.equals(originalHandle)) {
            driver.switchTo().window(handle);
            driver.close();
        }
    }

    driver.switchTo().window(originalHandle);
Run Code Online (Sandbox Code Playgroud)