web-dev-qa-db-ja.com

分度器でエンターキーを押す方法は?

私はこれを試しました:

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

エラーが発生します:

Error: Not a modifier key
53
bodine

キーアップ/キーダウンは、WebDriverの修飾キー(shift、ctrlなど)に制限されます。欲しいと思う

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

79
Jmr

Actions()は必要ありません。

次のようなことができます:

var input = $('#someInput');
input.sendKeys(protractor.Key.ENTER);

更新:一部の人々は、ブラウザにエンターを送信していないと不満を言っています。これを行いたい場合は、セレクタを変更するだけです:

$('body').sendKeys(protractor.Key.ENTER);
74
Andres D

これを行う別の方法があります

var enter = browser.actions().sendKeys(protractor.Key.ENTER);
enter.perform();
9
patz

こちらのドキュメントから...

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");
7
jfountain