Selenium:Chrome中的同一浏览器无法打开新标签页

时间:2017-05-27 10:33:20

标签: selenium selenium-webdriver selenium-chromedriver

我试图在同一个浏览器中打开一个新标签,但它似乎无法正常工作。我使用的是Chrome版本58.0.3029.110(64位)和Selenium 3.0.0。

我使用了以下代码:

driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL + "\t");

2 个答案:

答案 0 :(得分:2)

尝试使用JavascriptExecutor,如下所示:

 ((JavascriptExecutor) driver).executeScript("window.open('https://www.google.com');");

答案 1 :(得分:0)

您还可以将Robot类与Selenium Webdriver一起使用来打开新选项卡。我们需要遵循以下三个步骤 -

  1. 使用Robot类模拟键盘的Ctrl + t键。
  2. 使用driver.switchTo()命令切换到selenium中的新选项卡。
  3. 在新标签页上打开所需的链接。
  4. 代码段 -

    //Launch the first URL
    driver.get("http://www.google.com");
    
    //Use robot class to press Ctrl+t keys          
    Robot robot = new Robot();                          
    robot.keyPress(KeyEvent.VK_CONTROL); 
    robot.keyPress(KeyEvent.VK_T); 
    robot.keyRelease(KeyEvent.VK_CONTROL); 
    robot.keyRelease(KeyEvent.VK_T);
    
    //Switch focus to new tab
    ArrayList<String> tabs = new ArrayList<String (driver.getWindowHandles());
    driver.switchTo().window(tabs.get(1));
    
    //Launch URL in the new tab
    driver.get("http://google.com");
    

    来源:Open a new tab in Selenium - ArtOfTesting

    的代码段