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

Tha*_*ung 4 javascript selenium node.js 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();
Run Code Online (Sandbox Code Playgroud)

And*_*son 7

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

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

请尝试以下操作并告诉我它是否按预期工作:

driver.executeScript('window.open("newURL");');
Run Code Online (Sandbox Code Playgroud)


小智 5

注意:此功能适用于 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');
Run Code Online (Sandbox Code Playgroud)

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