如何使用量角器和Chrome浏览器打开新标签页

Ole*_*g V 3 javascript selenium-webdriver protractor

这是代码(新标签页不会打开):

//在Chrome中打开新标签页

browser.actions().sendKeys(protractor.Key.CONTROL +'t').perform();
Run Code Online (Sandbox Code Playgroud)

如果我们将代码与“ a”一起使用-一切都很好:

//选择页面上的全部

browser.actions().sendKeys(protractor.Key.CONTROL +'a').perform();
Run Code Online (Sandbox Code Playgroud)

量角器v.1.3.1

Chrome v.37

ChromeDriver v.2.10

WebDriver v.2.43

xyz*_*xyz 5

如果您确实不想在DOM中添加元素,则可以尝试以下操作:

let url = https://google.com;
return browser.executeScript("return window.open(arguments[0], '_blank')", url);
//opens google.com in a new tab (works fine with Chrome. P.S. have only tested
// Chrome with Protractor).
Run Code Online (Sandbox Code Playgroud)

我已经用a尝试了上面的语句browser.wait(),看看您是否真的需要等待browser.executeScript()返回承诺本身,就可以利用承诺的成功。

另外,我观察到,尽管浏览器的焦点似乎已更改为新打开的选项卡,但我无法访问新选项卡的元素。要做到这一点:

browser.getAllWindowHandles().then((handles) => {
    browser.switchTo().window(handles[1]);    // pass the index, here assuming that
                                              // there are only two tabs in the browser
})
Run Code Online (Sandbox Code Playgroud)

要了解更多信息window.open(),您可以访问此。