将Capybara与Rails一起使用,我希望使用位于< body>
下的< script>
标记来获取内容。当我运行此代码时,返回的值为空。有没有办法在< body>
中的< script>
标记内获取内容?:
page.all('body script',visible:false).each do | el |
把'脚本:'
把el.value.to_s
 end



 我也试过 puts el.text.to_s
也有相同的结果。
有许多脚本标记元素(在上面的代码中都打印为空白)。脚本标记的一个示例:


 < script>
 sConfig.backendTime = 655;
< / script>&# XA; 代码>


答案 0 :(得分:3)
Capybaras #text方法采用参数来确定是否返回隐藏文本,以下内容适用于所有驱动程序
page.all('body script', visible: false).each do |el|
puts 'script: '
puts el.text(:all)
end
答案 1 :(得分:1)
您需要使用native
方法,如下所示:
page.all('body script', visible: false).each do |el|
puts 'script: '
puts el.native.text
end