0

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

页面模型的相关部分:

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"毫无问题地调用相同的元素。我错过了什么?

4

1 回答 1

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。

于 2017-05-04T00:59:19.063 回答