【问题标题】:Protractor - Qwertz - Can not send exclamation mark量角器 - Qwertz - 无法发送感叹号
【发布时间】:2017-07-12 13:19:24
【问题描述】:

我正在尝试在输入中写入感叹号,但 Protractor 在此操作中失败。

我想做什么:

element(by.id('nom')).sendKeys('abc!');

但我在我的领域只能看到abc

我在 keyup 事件上添加了一个监听器,浏览器正在从 Protractor 接收:

... keys for 'abc'...
KeyCode : 192 - Code : BackQuote - Key : ~
KeyCode : 16  - Code : ShiftLeft - Key : Shift

我一直打开窗口(通过browser.pause()),我手动输入了一个感叹号,因此我得到了:

KeyCode : 192 - Code : BracketRight - Key : !
KeyCode : 16 - Code : ShiftLeft - Key : Shift

我使用的是 Google Chrome,并且我有一个 QWERTZ 键盘。

有人知道为什么会这样吗?

【问题讨论】:

  • @M.Hudson 我已将您的 linl 的 Java 解决方案翻译成 JavaScript,但它不起作用。感叹号还是不见了。问题似乎出在其他地方。
  • 你有没有尝试转义!喜欢'abc\!'?
  • @JeffC 是的,我有。不幸的是,它没有成功。
  • 请参阅:How do I do X? SO 的期望是,提出问题的用户不仅会进行研究以回答他们自己的问题,还会分享研究、代码尝试和结果。这表明您已经花时间尝试帮助自己,它使我们免于重复明显的答案,最重要的是它可以帮助您获得更具体和相关的答案!另见:How to Ask

标签: angular selenium-webdriver protractor selenium-chromedriver


【解决方案1】:

我找到了一个有效的“解决方案”,但同时也很奇怪。

第 1 步: QWERTZ 键盘 - 发送感叹号

KeyCode : 192 - Code : Backquote - Key : ~
KeyCode : 16 - Code : ShiftLeft - Key : Shift

第 2 步: QWERTY 键盘(通过将语言设置为英语 - 美国)- 感叹号 发送

KeyCode : 49 - Code : Digit1 - Key : !
KeyCode : 16 - Code : ShiftLeft - Key : Shift

第 3 步: QWERTZ 键盘(默认语言),语言为英语 - 美国作为第二语言 - 感叹号 发送

KeyCode : 49 - Code : Digit1 - Key : !
KeyCode : 16 - Code : ShiftLeft - Key : Shift

这是一个 - 不太漂亮 - 解决方法。如果有人有真正正确的解决方案,我在听!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-13
    • 1970-01-01
    • 2015-03-09
    • 1970-01-01
    • 2012-01-27
    • 2012-03-06
    • 2011-09-15
    • 2018-02-08
    相关资源
    最近更新 更多