Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VB2010 HtmlAgilityPack SelectSingleNode未返回结果_Html_Vb.net_Visual Studio 2010_Web Scraping_Html Agility Pack - Fatal编程技术网

VB2010 HtmlAgilityPack SelectSingleNode未返回结果

VB2010 HtmlAgilityPack SelectSingleNode未返回结果,html,vb.net,visual-studio-2010,web-scraping,html-agility-pack,Html,Vb.net,Visual Studio 2010,Web Scraping,Html Agility Pack,嘿,我正在尝试使用以下代码从维基百科获取一些文本。但它不会为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.

嘿,我正在尝试使用以下代码从维基百科获取一些文本。但它不会为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错误了?任何帮助都将不胜感激!(我是一个新手)

看起来你是通过Chrome(或其他浏览器)查找XPath的,但遗憾的是,这并不容易,因为Chrome会在Chrome解释HTML时向你显示HTML。 另一方面,您必须查看从服务器返回的HTML

当您查看原始HTML时,您会注意到没有tbody元素,因此您的XPath几乎是正确的

Dim Grape As HtmlNode = doc.DocumentNode.SelectSingleNode("//*[@id='mw-content-text']/table/tr[6]/td")
这将返回您要查找的节点


至于测试XPath,我所知道的最好的工具是,它让您加载一个页面并在上面尝试不同的XPath。您还可以看到该页面的源代码,因此它位于一个位置。另外,你会看到HTML,就像它真的是一个浏览器,而不是chrome如何呈现它。

谢谢!!它起作用了!那么,将来我将如何查找某个节点的XPath呢?我用Chrome查找上一个XPath@user3162084,我见过有人使用firefox的firebug来查找xpath,但我不确定这是否会像chrome一样屏蔽相同的结果。我只是在firefox中通过
查看源代码
查找它们,从来没有遇到过问题。但是,您不能像那样查找它们,而必须自己构建它们。另一个可能有用的工具是HAP测试床,我将在我的答案中编辑一个链接。