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

bod*_*ine 54 javascript angularjs protractor

我试过这个:

browser.actions().keyDown(protractor.Key.ENTER).keyUp(protractor.Key.Enter).perform();
Run Code Online (Sandbox Code Playgroud)

这给出了错误:

Error: Not a modifier key
Run Code Online (Sandbox Code Playgroud)

Jmr*_*Jmr 79

Keyup/Keydown仅限于WebDriver中的修改键(shift,ctrl等).我想你想要的

browser.actions().sendKeys(protractor.Key.ENTER).perform();

  • 谢谢!如果可以的话,是一个跟进问题.在回答之前我尝试了:`ptor.findElement(protractor.By.model("historyItem")).sendKeys("test5 \n");`实际上有效.虽然我确信这不是规范的做法; 这实际上是在做我认为的吗? (2认同)

And*_*s D 75

actions()不是必需的.

你可以这样做:

var input = $('#someInput');
input.sendKeys(protractor.Key.ENTER);
Run Code Online (Sandbox Code Playgroud)

更新:有些人抱怨您没有将输入发送到浏览器.如果你想这样做只需更改你的选择器:

$('body').sendKeys(protractor.Key.ENTER);
Run Code Online (Sandbox Code Playgroud)


pat*_*atz 9

这是另一种方法

var enter = browser.actions().sendKeys(protractor.Key.ENTER);
enter.perform();
Run Code Online (Sandbox Code Playgroud)


jfo*_*ain 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);
Run Code Online (Sandbox Code Playgroud)

还有上面链接的文档中的其他示例.

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");
Run Code Online (Sandbox Code Playgroud)