我正在尝试使用带有xpath的Nokogiri从HTML中的某个位置抓取数据。我使用的xpath是:
/html/body/table/tbody/tr[2]/td/table/tbody/tr[2]/td[2]
xpath指向:
<td class="anatxt" nowrap=""> CELL TXT DATA <div id="div0" style="visibility: hidden; position: absolute">
代码很简单:
#!/usr/bin/ruby -w
require 'rubygems'
require 'nokogiri'
page1 = Nokogiri::HTML(open('test1.html'))
a = page1.xpath("/html/body/table/tbody/tr[2]/td/table/tbody/tr[2]/td[2]").text
p a
它适用于其他较短路径,但只针对此特定情况返回""
。
为什么会发生这种情况?我错过了什么,或者由于某些错误,是否有一个有趣的Nokogiri行为?欢迎任何指示。
答案 0 :(得分:4)
tbody 标记可能实际上并不存在。 有些浏览器会在不存在时添加它们,但Nokogiri不会。