Poltergeist ruby gem 无法处理 `send_keys` 中的 `:shift` 修饰符
Poltergeist ruby gem fails to process `:shift` modifier in `send_keys`
似乎只有 :Shift
修饰符在 Poltergeist 中不起作用。
环境
- 闹鬼 gem 1.9
- Phantomjs 2.1.1
- OSX 埃尔卡普
- Rails 4.2.6
出现冒犯的测试代码是:
#page.find('#category-text').send_keys [:Shift, '.']
page.find('#category-text').send_keys [:Alt, 'a']
在我的代码中,我允许两个 shift-。 (即 > 符号)和 Alt-a 执行相同的功能。这两个键在浏览器中都有效(Chrome 50+,OSX),但只有上面的第二行在测试中有效。
在我的代码和测试的其他地方,:Ctrl
工作正常。
这可能是 :Shift
在 MBP 上的工作方式所特有的吗?
这里的问题不是具体的 :shift 键,而是“.”的使用。结合任何修饰符(:shift, :alt. :ctrl, 等等...)。出现此问题是因为 PhantomJS 未在其 keyCode 映射中提供标点键 (https://github.com/ariya/phantomjs/commit/cab2635e66d74b7e665c44400b8b20a8f225153a) 的条目,因此它们最终生成的 keyCode 为 0。
作为解决方法,您可以调用
page.find('#category-text').send_keys [:shift, :period]
应该会提供预期的结果。
更新: Poltergeist master 中现已修复此问题,并将在 1.11.0 版本中修复
似乎只有 :Shift
修饰符在 Poltergeist 中不起作用。
环境
- 闹鬼 gem 1.9
- Phantomjs 2.1.1
- OSX 埃尔卡普
- Rails 4.2.6
出现冒犯的测试代码是:
#page.find('#category-text').send_keys [:Shift, '.']
page.find('#category-text').send_keys [:Alt, 'a']
在我的代码中,我允许两个 shift-。 (即 > 符号)和 Alt-a 执行相同的功能。这两个键在浏览器中都有效(Chrome 50+,OSX),但只有上面的第二行在测试中有效。
在我的代码和测试的其他地方,:Ctrl
工作正常。
这可能是 :Shift
在 MBP 上的工作方式所特有的吗?
这里的问题不是具体的 :shift 键,而是“.”的使用。结合任何修饰符(:shift, :alt. :ctrl, 等等...)。出现此问题是因为 PhantomJS 未在其 keyCode 映射中提供标点键 (https://github.com/ariya/phantomjs/commit/cab2635e66d74b7e665c44400b8b20a8f225153a) 的条目,因此它们最终生成的 keyCode 为 0。
作为解决方法,您可以调用
page.find('#category-text').send_keys [:shift, :period]
应该会提供预期的结果。
更新: Poltergeist master 中现已修复此问题,并将在 1.11.0 版本中修复