【问题标题】:Undefined Method for send_keys with a valid Capybara element具有有效 Capybara 元素的 send_keys 的未定义方法
【发布时间】:2017-05-03 22:16:26
【问题描述】:

我正在尝试在使用 siteprism 页面模型检索到的 Capybara 元素上调用 .send_keys

页面模型相关部分:

class SearchPage < SitePrism::Page
  element :omnisearch_input, "input.db-search__input"

在 Rails 控制台中我可以运行:

@search_page.omnisearch_input

# And then I get:
<Capybara::Element tag="input" path="//HTML[1]/BODY[1]/DIV[1]/SECTION[1]/SECTION[1]/DIV[1]/INPUT[1]">

这对我来说意味着我有一个 Capybara 元素,这正是文档所说的我可以调用 .send_keys 的内容。但是当我运行时:

@search_page.omnisearch_input.send_keys "some text"
# Result:
NoMethodError: undefined method `send_keys' for #<Capybara::Node::Element:0x007f9effbaaef0>

为了进一步加强这一点,我可以在同一个元素上调用.set "some text" 而不会遇到任何麻烦。我错过了什么?

【问题讨论】:

  • 你用的是什么版本的水豚?您使用的是什么驱动程序/版本?
  • capybara 2.4.4版,驱动是poltergeist 1.8.1和phantomjs 1.9.8.0

标签: ruby-on-rails capybara site-prism


【解决方案1】:

Capybara 2.4.4 已经 2.5 岁了,send_keys 在 2.5.0 中被添加到 Element - https://github.com/teamcapybara/capybara/blob/master/History.md#version-250

您需要更新所有提到的 gem。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-08
    • 2015-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多