我正在尝试使用Nokogiri与xpath从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行为由于某些bug?
tbody标签可能实际上不存在。有些浏览器会在它们不存在的时候添加它们,但是Nokogiri不会。