3

我想废弃这个网站。下面的 Xpath 表达式与 FirePath firebug 扩展一起正常工作

html/body/table/tbody/tr[3]/td

但是使用相同的 xpath 表达式,下面的代码给了我 null :

 HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
 HtmlWeb web = new HtmlWeb();

 doc = web.Load("http://www.edb.gov.hk/templates/sch_list_print.asp?district=cw");
 var collection= doc.DocumentNode.SelectNodes("html/body/table/tbody/tr[3]/td");

谁可以帮我这个事。谢谢。

4

1 回答 1

3

这可行,查看您尝试抓取的页面的来源,表格内没有 tbody。

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
HtmlWeb web = new HtmlWeb();

doc = web.Load("http://www.edb.gov.hk/templates/sch_list_print.asp?district=cw");
var collection= doc.DocumentNode.SelectNodes("html/body/table/tr[3]/td");

将您的 xpath 更改为

html/body/table/tr[3]/td
于 2012-11-21T19:02:56.770 回答