我需要获取隐藏元素的值。
我尝试了以下代码:
page.find(:xpath, "//span[@id='sample']").text
它返回nil。
答案 0 :(得分:22)
从Capybara 2.1,您可以将:all
传递给text
并使用find('#sample').text(:all)
,无论司机如何。
此外,您可以使用匹配器的:text
选项(如果:all
为text
,它们会在:visible
内部传递给false
):
page.should have_css('#sample', visible: false, text: 'expected text')
在较旧的Capybara 2.0.x text
中没有这样的选项,只返回了可见的文字。
要返回可见和不可见的文字,您可以在:
中使用page.evaluate_script("document.getElementById('sample').textContent")
find('#sample').native.text
答案 1 :(得分:19)
您可以简单地找到隐藏的元素并获得它的价值。
find('#sample', visible: false).value
这么简单;)