HtmlAgilityPack不返回所有节点

时间:2013-07-27 01:51:22

标签: c# xpath html-agility-pack

我正试图从这里抓取数据http://www.forexfactory.com/calendar.php

这是我的代码

        var parser = new HtmlDocument();
        parser.LoadHtml(html);

        var datas = parser.DocumentNode.SelectNodes("//tr/@data-eventid");

从上面的链接加载html

问题是,检索到的节点不一致。在调试器下,它只返回14个节点,而其他节点则是某种错误(以?形式出现)。但在QuickWatch窗口下,它返回所有节点。我不太清楚为什么会这样。

即使我使用chrome控制台,它也会检索所有节点,因此标记是正确的。 Chrome控制台中的$x("//tr/@data-eventid")

Not okay Okay

1 个答案:

答案 0 :(得分:0)

您看到的是调试器特定的行为,很可能数据本身就很好。

调试器有很多“随机”限制,以保持它有点快(如没有自动扩展枚举...)和不同的窗口(立即,监视,本地,悬停,......)可能有不同的限制太。

如果您对特定的调试窗口感到不满意,请尝试使用其他调试窗口(例如Watch似乎在为您工作)或编写您自己的visualizer