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

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

我尝试了以下代码:

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

它返回零。

从Capybara 2.1你可以传递:alltext并使用find('#sample').text(:all)而不管驱动程序。

您还可以使用:text matchers的:text选项(它们将在内部传递:all to text if :visiblefalse ):

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

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

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

  • selenium:
 page.evaluate_script("document.getElementById('sample').textContent") 
  • rack_test:
 find('#sample').native.text 

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

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

很简单 ;)