水豚 / poltergeist / phantomjs double_click 缺失
Capybara / poltergeist / phantomjs double_click missing
如标题所说,水豚找不到 double_click:
undefined method `double_click' for #<Capybara::Node::Element:...>
Click 与大多数其他方法一样工作正常。我使用的是 capybara 2.1.0、poltergeist 1.6.0 和 phantomjs 1.9.7。有什么想法吗?
您确定您有可以点击的有效 Capybara 元素吗?
page.find('#lst-ib').double_click
以上适用于 Google.com
为了子孙后代,这里是解决方案:
我设置javascript_driver:
Capybara.javascript_driver = :poltergeist
但不是 default_driver:
Capybara.default_driver = :poltergeist
对于双击事件,以下方法可能会帮助您解决问题。
我知道有点晚了,但对于那些在自动化工作中可能会遇到类似问题的人来说
在最新的 ruby 水豚和 selenium 版本上使用
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)
- 使用 xpath 或 css 查找元素。
- 使用
page.driver.browser.mouse.double_click(element.native)
执行动作
如标题所说,水豚找不到 double_click:
undefined method `double_click' for #<Capybara::Node::Element:...>
Click 与大多数其他方法一样工作正常。我使用的是 capybara 2.1.0、poltergeist 1.6.0 和 phantomjs 1.9.7。有什么想法吗?
您确定您有可以点击的有效 Capybara 元素吗?
page.find('#lst-ib').double_click
以上适用于 Google.com
为了子孙后代,这里是解决方案:
我设置javascript_driver:
Capybara.javascript_driver = :poltergeist
但不是 default_driver:
Capybara.default_driver = :poltergeist
对于双击事件,以下方法可能会帮助您解决问题。 我知道有点晚了,但对于那些在自动化工作中可能会遇到类似问题的人来说
在最新的 ruby 水豚和 selenium 版本上使用
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)
- 使用 xpath 或 css 查找元素。
- 使用
page.driver.browser.mouse.double_click(element.native)
执行动作