我试过这个:
browser.actions().keyDown(protractor.Key.ENTER).keyUp(protractor.Key.Enter).perform();
给出错误:
Error: Not a modifier key
答案 0 :(得分:76)
Keyup / Keydown仅限于WebDriver中的修饰键(shift,ctrl等)。我想你想要
browser.actions().sendKeys(protractor.Key.ENTER).perform();
答案 1 :(得分:74)
不需要actions()。
您可以执行以下操作:
var input = $('#someInput');
input.sendKeys(protractor.Key.ENTER);
更新:有人抱怨您没有将回车发送到浏览器。如果你想这样做只需更改选择器:
$('body').sendKeys(protractor.Key.ENTER);
答案 2 :(得分:9)
这是另一种方法
var enter = browser.actions().sendKeys(protractor.Key.ENTER);
enter.perform();
答案 3 :(得分:7)
来自这里的文档...
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");
答案 4 :(得分:1)
这可以很好地尝试
browser.actions().sendKeys(protractor.Key.ENTER).perform();
答案 5 :(得分:0)
在我的情况下,输入文字和Enter点击之间没有sleep()
,enter click并没有表现出来。
const someInput = $('#someInput');
someInput.sendKeys('test text');
browser.sleep(1000);
someInput.sendKeys(protractor.Key.ENTER);