就像标题说capybara在找到double_click时遇到了麻烦:
undefined method `double_click' for #<Capybara::Node::Element:...>
点击工作就像大多数其他方法一样好。我正在使用capybara 2.1.0,poltergeist 1.6.0和phantomjs 1.9.7。有任何想法吗?
对于后人来说,这是解决方案:
我设置了javascript_driver:
Capybara.javascript_driver = :poltergeist
但不是default_driver:
Capybara.default_driver = :poltergeist
你确定你有一个可以点击的有效Capybara元素吗?
page.find('#lst-ib').double_click
以上内容适用于Google.com
对于双击事件,以下方法可能会帮助您解决问题。我知道它有点晚了,但对于那些可能在自动化工作中遇到类似问题的人来说
最新的红宝石水豚和硒版使用
element = page.find(:xpath,"//a[contains(text(), locator)]")
page.driver.browser.action.double_click(element.native).perform
对于旧版本请使用以下代码:
element = page.find(:xpath,"//a[contains(text(), locator)]")
page.driver.browser.mouse.double_click(element.native)
page.driver.browser.mouse.double_click(element.native)
执行操作