我正在尝试使用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();
答案 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/