如何获得水豚的隐藏元素值?

时间:2013-02-25 12:22:17

标签: ruby capybara

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

我尝试了以下代码:

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

它返回nil。

2 个答案:

答案 0 :(得分:22)

从Capybara 2.1,您可以将:all传递给text并使用find('#sample').text(:all),无论司机如何。

此外,您可以使用匹配器的:text选项(如果:alltext,它们会在:visible内部传递给false):

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

在较旧的Capybara 2.0.x text中没有这样的选项,只返回了可见的文字。

要返回可见和不可见的文字,您可以在:

中使用
  • 硒:
page.evaluate_script("document.getElementById('sample').textContent")
  • rack_test:
find('#sample').native.text

答案 1 :(得分:19)

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

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

这么简单;)