Есть ли что-то особенное, чтобы рассмотреть возможность использования HTML-соскоб с использованием xpaths? - PullRequest
1 голос
/ 16 ноября 2011

Я пытаюсь очистить данные из местоположения в HTML, используя Nokogiri с xpath.Я использую 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

Работает с другими более короткими путямино он возвращает только "" для этого конкретного случая.

Почему это может происходить?Чего мне не хватает, или есть странное поведение Нокогири из-за какой-то ошибки?Любые указатели приветствуются.

1 Ответ

4 голосов
/ 16 ноября 2011

Тег tbody на самом деле может отсутствовать.Некоторые браузеры добавляют их, когда их нет, но Nokogiri не делает.

...