Как мне визуализировать / красиво распечатать дерево HTML DOM? - PullRequest
2 голосов
/ 27 января 2012

Теперь, когда я могу перемещаться по веб-странице с помощью WWW :: Mechanize и получать информацию с помощью HTML :: TreeBuilder :: XPath путем доступа к идентификатору, я оставляю Firebug для чтения DOM, чтобы обнаружить макет дерева HTML. Контент, который захватывает Mechanize, представляет собой неструктурированный HTML, не подходящий для человеческого глаза.

Использует ли Firebug для определения идентификатора я после типичного подхода? Как только я получу идентификатор, у меня все получится, просто у меня есть несколько идентификаторов и страниц с большим количеством идентификаторов, которые можно найти, и я надеялся получить (dump, print и т. Д.) Отформатированный макет DOM чтобы сделать это открытие проще. Хотя и предоставленный, Firebug также делает это довольно простым. Мне просто интересно, упускаю ли я более простой метод.

Кросспост в PerlMonks.

Ответы [ 2 ]

3 голосов
/ 27 января 2012

Если вам нужен текст, xmllint --html --format (поставляется с libxml2) делает достойную работу.

Если вам нужно дерево, связываться с ним и тестировать различные выражения в GUIтогда Xacobeo ваш новый лучший друг.

Xacobeo screenshot

Примечание: поскольку оба эти инструмента основаны на libxml, замените HTML :: TreeBuilder ::XPath с HTML :: TreeBuilder :: LibXML для совместимости.Оценка XPath также будет быстрее в этом направлении.


Если вы знаете Javascript / JQuery, то также установите FireQuery .Затем вы можете протестировать CSS-выражения в FireBug и использовать их с модулями, которые выбирают HTML с помощью CSS-выражений, например, Web :: Query .

FireQuery screenshot

0 голосов
/ 27 января 2012

Я использую XML Developer из Oxygen IDE для своей недавней разработки на XPath: http://www.oxygenxml.com/download.html Это 30-дневный пробный тип инструмента, но вы также можете искать визуализатор XPath

Это ненасколько я знаю, не представляю вам дерево (может быть, есть панель, которая делает это).Но это дает вам некоторые функциональные возможности, которые помогут вам узнать, какие узлы у вас есть в любой момент.Он довольно большой для XPath, потому что трудно понять, на что в действительности указывает точка синтаксического анализа.

...