Selenium打开多个选项卡不工作

Selenium打开多个选项卡不工作,selenium,Selenium,我已经尝试过用这个代码片段在Firefox的多个选项卡中自动打开同一个url“google.com”。但它仍然只能在新窗口中打开。因为我只想打开那个url,所以我不想让句柄来回切换 你能帮我找出我的代码有什么问题吗: public class MultipleTabsWebinar { public static void main(String[] args) throws InterruptedException{ List drivers = new ArrayList();

我已经尝试过用这个代码片段在Firefox的多个选项卡中自动打开同一个url“google.com”。但它仍然只能在新窗口中打开。因为我只想打开那个url,所以我不想让句柄来回切换

你能帮我找出我的代码有什么问题吗:

public class MultipleTabsWebinar {
public static void main(String[] args) throws InterruptedException{
    List drivers = new ArrayList();
    for(int i = 0; i < 5; i++){
        WebDriver driver;
        System.setProperty("webdriver.gecko.driver", "C:\\geckodriver-v0.11.1-win64\\geckodriver.exe");
        System.out.println("Hello World Test on AMS148");
        driver = new FirefoxDriver();
        driver.get("http://10.3.3.148");
        Thread.sleep(100);
        driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL +"t");
        drivers.add(driver);
    }
    for(int i = 0; i < drivers.size(); i++){
        ((WebDriver) drivers.get(i)).close();
    }
}
公共类MultipleTablesWebinar{
公共静态void main(字符串[]args)引发InterruptedException{
列表驱动程序=新的ArrayList();
对于(int i=0;i<5;i++){
网络驱动程序;
System.setProperty(“webdriver.gecko.driver”,“C:\\geckodriver-v0.11.1-win64\\geckodriver.exe”);
System.out.println(“AMS148上的Hello World测试”);
驱动程序=新的FirefoxDriver();
驱动程序。获取(“http://10.3.3.148");
睡眠(100);
driver.findElement(通过.cssSelector(“body”)).sendKeys(Keys.CONTROL+“t”);
驱动程序。添加(驱动程序);
}
对于(int i=0;i

}

您可以尝试以下代码:

JavascriptExecutor jse = (JavascriptExecutor)driver;
for(int i = 0; i < 15; i++)
    {
    jse.executeScript("window.open('https://google.com');");
    }
JavascriptExecutor jse=(JavascriptExecutor)驱动程序;
对于(int i=0;i<15;i++)
{
jse.executeScript(“window.open('https://google.com');");
}
这将允许您在多个新选项卡中打开Google搜索页面


请注意(如评论中所述),您不需要在循环中初始化
WebDriver
实例

每次迭代都会打开一个新的单独浏览器实例。谢谢,但是我如何打开15个选项卡并在所有15个选项卡中转到上面的url?不要在每次迭代中实例化一个新的WebDriver,但是共享一个实例。代码的其余部分应该可以(发送组合键是打开新选项卡的唯一方法)。