【发布时间】: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