Capybara / poltergeist / phantomjs double_click失踪

时间:2015-03-19 16:01:09

标签: ruby-on-rails capybara phantomjs rspec-rails poltergeist

就像标题所说,capybara在找到double_click时遇到了麻烦:

undefined method `double_click' for #<Capybara::Node::Element:...>

点击工作就像大多数其他方法一样正常。我正在使用capybara 2.1.0,poltergeist 1.6.0和phantomjs 1.9.7。有什么想法吗?

3 个答案:

答案 0 :(得分:1)

对于后人来说,这是解决方案:

我设置了javascript_driver:

Capybara.javascript_driver = :poltergeist

但不是default_driver:

Capybara.default_driver = :poltergeist

答案 1 :(得分:0)

你确定你有一个可以点击的有效Capybara元素吗?

page.find('#lst-ib').double_click

上述内容适用于Google.com

答案 2 :(得分:0)

对于双击事件,以下方法可以帮助您解决问题。 我知道有点晚了,但是对于那些可能在自动化工作中遇到类似问题的人

在最新的红宝石水豚和硒版本上使用

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)
  1. 使用xpath或css查找元素。
  2. 使用page.driver.browser.mouse.double_click(element.native)来执行操作