我试过这个:
browser.actions().keyDown(protractor.Key.ENTER).keyUp(protractor.Key.Enter).perform();
这给出了错误:
Error: Not a modifier key
我试过这个:
browser.actions().keyDown(protractor.Key.ENTER).keyUp(protractor.Key.Enter).perform();
这给出了错误:
Error: Not a modifier key
Keyup/Keydown 仅限于 WebDriver 中的修饰键(shift、ctrl 等)。我想你想要
browser.actions().sendKeys(protractor.Key.ENTER).perform();
不需要操作()。
您可以执行以下操作:
var input = $('#someInput');
input.sendKeys(protractor.Key.ENTER);
更新:有些人抱怨您没有将输入发送到浏览器。如果您想这样做,只需更改您的选择器:
$('body').sendKeys(protractor.Key.ENTER);
这是另一种方法
var enter = browser.actions().sendKeys(protractor.Key.ENTER);
enter.perform();
从这里的文档...
http://appfigures.github.io/webdriver-js-api-reference/symbols/webdriver.WebElement.html#sendKeys
var myInput = element(by.model('myModel.inputName'));
myInput.sendKeys(value, protractor.Key.ENTER);
还有上面链接的文档中的其他示例。
myInput.sendKeys("text was",
protractor.Key.CONTROL, "a", protractor.Key.NULL,
"now text is");
// Alternatively:
myInput.sendKeys("text was",
protractor.Key.chord(protractor.Key.CONTROL, "a"),
"now text is");
这会很好用试试
browser.actions().sendKeys(protractor.Key.ENTER).perform();
sleep()
在我的情况下,如果没有键入的文本和 Enter click,则 enter click 不会执行。
const someInput = $('#someInput');
someInput.sendKeys('test text');
browser.sleep(1000);
someInput.sendKeys(protractor.Key.ENTER);