我试图在我使用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"
。我错过了什么?
答案 0 :(得分:1)
Capybara 2.4.4已有2.5年的历史了,而send_keys
已添加到2.5.0中的元素 - https://github.com/teamcapybara/capybara/blob/master/History.md#version-250
您需要更新所有提到的宝石。