日期:2014-05-17  浏览次数:20432 次

HtmlAgilityPack未将对象引用设置到对象实例
C# code

HtmlDocument d = new HtmlDocument();
d.LoadHtml(GetHtml(url));
HtmlNode h1 =d.DocumentNode.SelectSingleNode(/*Chrome审查元素复制的Xpath*/);
HtmlNode h2=d..GetElementbyId("id").SelectSingleNode(/*Chrome审查元素复制的Xpath*/);

//h1和h2都为null,这是哪的错呢



------解决方案--------------------
Xpath 有多重表达方式,

你用 HtmlAgilityPack 自带的查找器找到 Xpath 路径吧。

还有GetHtml出来的字符串乱码会导致DOM没法正常生成。
网页语法错误的离谱也可能到它生成的DOM跟浏览器的不一样。