我正在使用nokogiri gem来解析一个html表内容,其中我有一个包含名称列表的列,其中一些名称是超链接的,有些则不是。当我使用这段代码时:
puts doc.xpath("//table//tr//td[1]/text()")
它会跳过超链接的名称。我也可以用这个获得超链接名称:
doc.xpath('//table//tr//td[1]//a[@href]').each do |link|
puts link.text.strip
end
如何在不必两次完成的情况下获取所有名称?
答案 0 :(得分:1)
如果您想要单元格中的所有文本,是否已超链接:
doc.xpath('//td[1]').each do |cell|
puts cell.text.strip
end
注意:在有效的HTML文档中,td
始终位于table
和tr
之内。如果您没有任何其他选择器要求,则可以如上所述进行简化。