我有这个HTML:
<div class="blah blah">
<h4> 1 </h4>
<h4> 2 </h4>
<h5> 3 </h4>
</div>
如何通过数字顺序获取h4
标签的内部文本。例如:当数字顺序为2时,我有文本2
谢谢!
答案 0 :(得分:1)
使用简单的css选择器:
page.search('h4:nth-child(2)').first.text
如果你想要更灵活的解决方案,你可以简单地选择你感兴趣的div类的所有孩子:
page.search('div.blah > h4').find { |node| predicate?(node) } #your condition goes in the block.
我个人会坚持使用css选择器,因为它更干净。
答案 1 :(得分:1)
require 'nokogiri'
html_string = '<div class="blah blah"><h4> 1 </h4><h4> 2 </h4><h5> 3 </h4></div>'
doc = Nokogiri::HTML(html_string)
puts doc.css('.blah h4').to_a[1].text
答案 2 :(得分:0)
.blah h4:nth-child(2){
color: #666666;
}
如果你的意思是用CSS定位,那就行了。
你需要做什么?
您始终可以在要定位的ID上添加ID,然后按ID定位。