Html Agility Pack: поиск узла комментариев - PullRequest
10 голосов
/ 02 октября 2010

Я очищаю веб-сайт, использующий Javascript, для динамического заполнения содержимого веб-сайта пакетом Html Agility.

По сути, я искал XPATH "\\div[@class='PricingInfo']", но этот узел div записывался в DOM через Javascript.

Итак, когда я загружаю страницу через пакет Html Agility, упомянутый выше XPATH не может быть найден.

Оказывается, перед конкретным блоком скрипта есть комментарий, который я хочу проанализировать.

<!--Module 328 Buying Options Table-->
<script type="text/javascript" language="JavaScript">
    var data = {
        price: 30.00
    }
</script>

Для этого сайта есть много блоков сценариев, поэтому мне нужно сузить его, найдя этот автоматически сгенерированный комментарий <!--Module 328 Buying Options Table-->, и брат этого узла будет правильным блоком сценария.

Есть идеи, как я могу найти конкретный комментарий и затем просто получить соседний блок скрипта?

Спасибо!

1 Ответ

16 голосов
/ 02 октября 2010
htmlDoc.DocumentNode.SelectSingleNode("//comment()[contains(., 'Buying Options')]/following-sibling::script")
...