如何使量角器按下回车键?

时间:2013-11-11 20:06:03

标签: javascript angularjs protractor

我试过这个:

browser.actions().keyDown(protractor.Key.ENTER).keyUp(protractor.Key.Enter).perform();

给出错误:

Error: Not a modifier key

6 个答案:

答案 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);