如何在不拾取嵌入表行的情况下获取每个表的行?

时间:2017-09-08 14:02:29

标签: css ruby-on-rails ruby nokogiri

我正在使用Nokogiriruby,我正在尝试通过以下链接从表中获取信息:roster

在过去,我已经使用了“id”字段作为我想要使用的表,但是因为我想要防止他们在将来更改该ID并破坏我的代码,我想通过假设来识别表关于它的属性。例如,该表具有非常多的行数(<tr>),并假设它几乎总是有4列或更多列。

我在这里遇到的问题是,当我使用以下代码拉回网页中的所有表格然后查找具有80多行的表格时,它会计算子表格的行数,当我想要只计算直接孩子的行数。

tables = document.css("table")
tables.each do |table|
  tables.each { |table| puts "#{table.css('tr').count}" }
end

此输出将是......

202
135
109
22
19
1
0

这里实际上只有一个表是100多行。但是因为文档在表中嵌入了表,所以它返回表中所有<tr>元素的计数,包括嵌入表。如何更改我的选择器以仅返回每个表中的直接子<tr>计数?

0 个答案:

没有答案