【问题标题】:How to send Keyboard keys in protractor like TAB如何在量角器中发送键盘键,如 TAB
【发布时间】:2015-02-09 22:11:59
【问题描述】:

我需要选择一个元素,向它发送值,按 Tab,然后发送新值。

我可以选择元素并向其发送值,但无法从我的键盘发送 TAB 然后发送新值。

我首先使用了 ptor,但后来它被淘汰了,我现在正尝试使用 browser.key 来做同样的事情,但它对我不起作用。

请帮忙!

【问题讨论】:

  • 发送“TAB”时您期望什么?正常行为是将具有更大标签索引的元素聚焦,然后是当前聚焦的元素。还是你想要一个 'TAB' 作为 '\t' 这样的字符?
  • 哦,我想转到下一个字段,我也在尝试使用 ENTER 键,但我也无法让它工作。我不知道我应该在我的代码中具体写什么。我正在尝试很多事情,但没有任何效果。

标签: protractor


【解决方案1】:

我写了一个 sn-p 并针对 google.de(不是 .com!也许你必须调整它)进行了测试,当发送 TAB 时,下一个元素获得焦点(在本例中是搜索按钮)。

sn-p:

describe('Test', function () {
  it('should browse to google', function () {
    browser.ignoreSynchronization = true;
    browser.driver.get('https://www.google.de');
    expect(browser.getCurrentUrl()).toEqual('https://www.google.de/');
  });
  it('should unfocus the search field', function () {
    var search = element(by.name('q'));
    search.sendKeys(protractor.Key.TAB);
    browser.sleep(3000); // 3s to take a look ;)
  });
});

【讨论】:

  • 好的,这有助于我处理 TAB 的事情,现在因为我无法选择我在 stackoverflow.com/questions/28363238/… 中提到的其他元素,现在当使用此选项卡时,我可以专注于新领域,我该如何发送对它的价值观。例如用户名和密码字段。我输入用户名,然后使用 TAB 来关注密码字段现在我只想输入密码,我应该怎么做。我是全新的,可能会问一些愚蠢的问题
  • 您可以只获取密码输入字段和check if its focused 我建议阅读page object docs,有助于保持代码干净:) 如果您需要更具体的答案,请打开一个新线程保持电路板清洁;)
  • browser.get 代替 browser.driver.get 也可以
  • 向本周到目前为止尝试执行此操作的任何人提供提示- protractor.Key.TAB 在 chrome 驱动程序中不起作用:github.com/angular/protractor/issues/2370
  • 您可以在源代码中找到protractor.key 的值列表:github.com/SeleniumHQ/selenium/blob/master/javascript/webdriver/…
猜你喜欢
  • 2015-12-28
  • 2021-12-17
  • 1970-01-01
  • 2012-06-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-20
  • 2017-05-07
  • 1970-01-01
相关资源
最近更新 更多