似乎在Capybara中使用send_keys
始终首先在给定输入上触发click
元素。
有没有办法绕过这个,例如当我知道我已经将注意力集中在输入上时(由于某种原因,不希望触发click
事件)?
顺便说一下,我正在使用PhantomJS。
答案 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定义的选择,则会跳过单击。因此,跳过点击的唯一支持方式是确保选择已经在您要发送密钥的元素中。