12

我需要获取隐藏元素的值。

我尝试了以下代码:

page.find(:xpath, "//span[@id='sample']").text

它返回零。

4

2 回答 2

25

从 Capybara 2.1 开始,无论驱动程序如何,您都可以传递:all和使用textfind('#sample').text(:all)

您也可以使用:text匹配器选项(它们将在内部传递:alltextif :visibleis false):

page.should have_css('#sample', visible: false, text: 'expected text')

在较早的 Capybara 2.0.xtext中没有这样的选项并且只返回可见文本。

要返回可见和不可见文本,您可以使用:

  • 硒:
page.evaluate_script("document.getElementById('sample').textContent")
  • 机架测试:
find('#sample').native.text
于 2013-02-25T20:19:51.710 回答
24

您可以简单地找到隐藏的元素并获得它的价值。

find('#sample', visible: false).value

很简单 ;)

于 2014-05-30T09:45:02.840 回答