Правильный XPath будет примерно таким.
doc.xpath('/html/body/table/tr[count(td)>3]')
Однако в моей тестовой программе я не могу заставить Нокогири полюбить абсолютные XPath, подобные этой. Вместо этого я должен использовать XPath с двойным слешем.
require 'rubygems'
require 'nokogiri'
html = %{
<table>
<tr class=wrong><td><td></tr>
<tr class=right><td><td><td></tr>
</table>
}
doc = Nokogiri::HTML.parse(html)
data = doc.xpath('//table/tr[count(td)>2]')
puts data.attribute('class')