在node.js selenium-webdriver中打开一个新选项卡

时间:2017-02-01 07:38:16

标签: javascript node.js selenium selenium-webdriver

我正在尝试使用selenium-webdriver打开一个新标签页。但它打开浏览器并保持在那里。它无法打开新选项卡。我错过了什么?

var webdriver = require('selenium-webdriver'),
  By = webdriver.By,
  until = webdriver.until;
  Keys = webdriver.Key;
  var driver = new webdriver.Builder()
   .forBrowser('firefox')
   .build();
  driver.get('https://google.com');
  driver.wait(until.titleIs('Google'), 5000);
  var selectLinkOpeninNewTab = Keys.chord(Keys.CONTROL,"t");  
  driver.findElement(By.css("body")).sendKeys(selectLinkOpeninNewTab);
  driver.quit();

2 个答案:

答案 0 :(得分:7)

AFAIK webdriver.Key.chord不会发送组合键事件,因此无法以这种方式使用。

要打开新标签,请尝试使用JavaScript

请尝试以下操作并告诉我它是否无法正常工作:

driver.executeScript('window.open("newURL");');

答案 1 :(得分:1)

注意:此功能适用于 Selenium 4 及更高版本。

// Opens a new tab and switches to new tab
await driver.switchTo().newWindow('tab');

// Opens a new window and switches to new window
await driver.switchTo().newWindow('window');

来源:https://www.selenium.dev/documentation/en/webdriver/browser_manipulation/