在div/non输入上发送键

coc*_*coa 2 javascript selenium angularjs selenium-webdriver protractor

我正在测试一个具有"聚光灯搜索"功能的网站(在Chrome中),就像在Mac上一样,当您按某个键时会显示输入.有一个指令负责处理这个逻辑,你可以在应用程序的任何地方输入,只要它不是输入.我需要通过我的量角器测试发送密钥来测试这个功能,但是unknown error: cannot focus element当我定位div时我得到了.是否可以在不是输入的元素上发送键?

ale*_*cxe 6

您可能需要等待元素在visibilityOf预期条件下变得可见,并且browser.wait():

var EC = protractor.ExpectedConditions;
browser.wait(EC.visibilityOf(by.css("div#myid")), 5000);

var div = element(by.css("div#myid"));
div.sendKeys("test");
Run Code Online (Sandbox Code Playgroud)

此外,您可以尝试使用browser.actions():

browser.actions().mouseMove(div).sendKeys('test').perform();
Run Code Online (Sandbox Code Playgroud)

此外,您可能需要在发送密钥之前单击该元素:

div.click().sendKeys("test");
Run Code Online (Sandbox Code Playgroud)

  • `browser.actions().mouseMove(div).sendKeys('test').perform();`是适合我的那个.谢谢! (2认同)