Capybara send_keys没有发送点击事件?

时间:2017-12-03 20:56:54

标签: rspec phantomjs capybara

似乎在Capybara中使用send_keys始终首先在给定输入上触发click元素。

有没有办法绕过这个,例如当我知道我已经将注意力集中在输入上时(由于某种原因,不希望触发click事件)?

顺便说一下,我正在使用PhantomJS。

1 个答案:

答案 0 :(得分:2)

Poltergeist在向其发送密钥之前单击该元素,以确保它是焦点元素 - https://github.com/teampoltergeist/poltergeist/blob/master/lib/capybara/poltergeist/client/browser.coffee#L365。正如您在代码中看到的那样,如果元素已包含由https://github.com/teampoltergeist/poltergeist/blob/master/lib/capybara/poltergeist/client/browser.coffee#L365定义的选择,则会跳过单击。因此,跳过点击的唯一支持方式是确保选择已经在您要发送密钥的元素中。