我正在抓取一个使用Javascript动态填充Html Agility包网站内容的网站。
基本上,我正在搜索XPATH "\\div[@class='PricingInfo']"
,但是这个div节点是通过Javascript写入DOM的。
因此,当我通过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-->
来缩小它,并且该节点的兄弟将是正确的脚本块。
有关如何搜索特定注释然后获取相邻脚本块的任何想法吗?
谢谢!
答案 0 :(得分:16)
htmlDoc.DocumentNode.SelectSingleNode("//comment()[contains(., 'Buying Options')]/following-sibling::script")