2017-12-27 782 views

回答

0

没有Poltergeist没有。如果你必须使用Poltergeist进行测试,那么你可能将不得不使用execute_script来从JS构建和激发事件。请注意,只有当它是一个JS小部件时才适用。如果它实际上是一个带有多个属性的HTML选择,那么您应该可以单独选择每个选项,并且它会选择多个。

+0

谢谢Thomas!我也知道这个解决方案:https://stackoverflow.com/questions/8474103/is-there-a-way-to-send-key-presses-to-webkit-using-capybara虽然它建议使用KeyboardEvent。根据MDN的keyCode已被弃用,并没有真正推荐。我正在尝试选择'li'HTML元素。问题是我们故意这样做,以便用户需要按住'Ctrl'或'Shift'才能执行多重选择。 – SpartaSixZero

+0

@SpartaSixZero'send_keys'在返回之前释放密钥,所以它不会因为后面的点击而关闭。从你的描述中,我假设你需要发出一个鼠标点击事件,并在该事件中设置正确的键盘修饰符。如果你的代码也实现了通过键盘进行多选的方法,那么你可以用'send_keys'来实现 - http://www.rubydoc.info/gems/capybara/Capybara/Node/Element#send_keys-instance_method - in一个交叉驱动的方式 –

+0

不幸的是,我们的要求规定我们需要结合keydown和鼠标左键单击来进行多重选择。所以我不认为send_keys在这里会有帮助,因为send_keys只需要键而不是鼠标点击。我怀疑只要按下按键就可以做出多重选择,但不值得仅仅做一次水豚测试。 – SpartaSixZero

相关问题