c# - HTML 敏捷包 2

标签 c# .net xpath html-agility-pack

我想报废 This Website . 下面的 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");

谁能帮我解决这个问题。谢谢。

最佳答案

这行得通,查看您要抓取的页面的源代码,表内没有 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

关于c# - HTML 敏捷包 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13500060/

相关文章:

c# - VSTO Word 2010 getScreentip getSupertip 未触发

c# - 在 Dictionary<> 子类中重命名 Key 和 Value 属性的最简单方法是什么

c# - (C#) 在 (EC)DHE x25519 上使用私钥和公钥计算 key 份额

使用 idref 的 XPath 表达式

使用 Scala : Equivalent to "getElementByTagName(name)" in JS 解析 XML

c# - 生成低位深度的图像文件?

.net - 使用EPPLUS隐藏Excel网格线

.net - 你能在 VS2015 中转换 *.json 文件吗

c# - .NET 的拼写检查器

xpath - 谓词 : how is the expression nodeName ='text' evaluated?