首页 > 解决方案 > 无法在新选项卡中打开新选项卡替换第一个选项卡,而不是在 Firefox 中打开新选项卡

问题描述

public class TestTabs {
    public WebDriver driver;
    public WebDriver getDriver() {
        return driver;
    }

    @Before
    public void setUp() throws Exception {
        System.setProperty("webdriver.gecko.driver","/Users/Test/Downloads/geckodriver");
        driver = new FirefoxDriver();
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        driver.manage().window().maximize();
        //driver.findElement(By.cssSelector("body")).sendKeys(Keys.COMMAND+ "t");
    }

    @Test
    public void openSameUrlInMultipleTab() throws InterruptedException {
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        driver.get("http://seleniumlearn.com/selenium-tutorial");
        {
            driver.findElement(By.cssSelector("body")).sendKeys(Keys.COMMAND+ "t");
            driver.get("https://www.facebook.com");
        }
    }
}

我正在使用上面的代码在一个浏览器中打开多个选项卡,但是当我在 Firefox (iMac mini) 中运行此代码时,我没有收到任何错误消息并且代码已通过,但第二个链接在同一选项卡中而不是在新选项卡中打开. 如何在 Mac 的 Firefox 中打开多个标签页?

标签: selenium

解决方案


每个选项卡都被视为一个新窗口。使用 切换到新选项卡switch.to().window()

driver.switchTo().window(winHandle);
driver.get("your new url goes here");

如果要切换到默认浏览器(基本浏览器),请在下面的用户行。

driver.switchTo().defaultContent();

推荐阅读