Ruby 如何在capybara中获取隐藏元素值?
我需要得到一个隐藏元素的值 我尝试了以下代码:Ruby 如何在capybara中获取隐藏元素值?,ruby,capybara,Ruby,Capybara,我需要得到一个隐藏元素的值 我尝试了以下代码: page.find(:xpath, "//span[@id='sample']").text 它返回零。从Capybara 2.1您可以将:all传递到text并使用find(“#sample”)。text(:all),而不考虑驱动程序 您还可以使用匹配器的:text选项(如果:visible为false,则匹配器将在内部将:all传递到text): page.应该有_css(“#示例”,可见:false,文本:“预期文本”) 在旧版的Cap
page.find(:xpath, "//span[@id='sample']").text
它返回零。从Capybara 2.1您可以将
:all
传递到text
并使用find(“#sample”)。text(:all)
,而不考虑驱动程序
您还可以使用匹配器的:text
选项(如果:visible
为false
,则匹配器将在内部将:all
传递到text
):
page.应该有_css(“#示例”,可见:false,文本:“预期文本”)
在旧版的Capybara 2.0.x
text
中,没有这样的选项,只返回可见的文本
要返回可在中使用的可见和不可见文本,请执行以下操作:
- 硒:
page.evaluate_脚本(“document.getElementById('sample').textContent”)
- 机架测试:
find('#sample').native.text
您只需找到隐藏元素并获取其值即可
find('#sample', visible: false).value
这么简单;) 请显示页面的html。@JustinKo确切地知道整个html不是necessary@AndreyBotalov,我只是想确认我们是在看一个不可见的范围,还是一个类型为“hidden”的输入元素。以前在其他问题上对此有过混淆。@Dean,我认为它应该有效。我只是假设OP想要的是文本,而不是值。