Capybara / poltergeist / phantomjs double_click失踪

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Capybara / poltergeist / phantomjs double_click失踪相关的知识,希望对你有一定的参考价值。

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

以上是关于Capybara / poltergeist / phantomjs double_click失踪的主要内容,如果未能解决你的问题,请参考以下文章

ruby 基于Poltergeist(PhantomJS)的Web Crawler Helper类。使用Capybara作为构建webcrawler的框架非常方便

ruby 使用Capybara w / Poltergeist(PhantomJS)从位于给定URL的HTML页面的主体中抓取文本内容。

Capybara:测试何时禁用 cookie、localStorage 和 sessionStorage

如何使用 capybara DSL 测试 Select2 元素?

Web 驱动程序解释

Capybara:首次测试超时“未能到达服务器,检查DNS和/或服务器状态”,所有其他测试工作正常