嘿我正在尝试使用以下代码从维基百科中获取一些文本。但它没有返回SelectSingleNode的任何值
Dim doc As New HtmlAgilityPack.HtmlDocument
Dim web As New HtmlAgilityPack.HtmlWeb
doc = web.Load("http://en.wikipedia.org/wiki/Limnio")
Dim Grape As HtmlNode = doc.DocumentNode.SelectSingleNode("//*[@id='mw-content-text']/table/tbody/tr[6]/td")
txtPOO.Text = Grape.InnerHtml.Trim
也许我输入的dll错了?任何帮助,将不胜感激! (我是新手)
答案 0 :(得分:0)
看起来你通过Chrome(或其他一些浏览器)查看了XPath,但遗憾的是,这并不容易,这是因为Chrome会向您显示HTML,因为它正在被Chrome解读。 另一方面,您必须查看从服务器返回的HTML。
当您查看原始HTML时,您会注意到没有tbody元素,因此您的XPath几乎是正确的。
Dim Grape As HtmlNode = doc.DocumentNode.SelectSingleNode("//*[@id='mw-content-text']/table/tr[6]/td")
这应该返回您正在寻找的节点。
至于测试XPath,我所知道的最好的工具是Html Agility Pack Testbed,它允许你加载页面并在其上尝试不同的xpath。您还可以查看页面的来源,以便将其全部放在一个位置。另外,您会看到HTML,因为它实际上不是Chrome渲染它的方式。