我正在尝试在网页https://blogs.msdn.microsoft.com/page/2/中找到页码为200的节点。我从chrome获得的XPath是//*[@id="site-main"]/nav/div/a[4]
。但是,当我尝试获取节点时,HTML Agility Pack将返回null。下面是示例代码。
string url = "https://blogs.msdn.microsoft.com/page/2/";
var doc = web.Load(url);
HtmlNode node = doc.DocumentNode.SelectSingleNode("//*[@id=\"site - main\"]/nav/div/a[4]");
如何获取节点以及如何解决XPath的此类问题?
答案 0 :(得分:2)
site-main
中的连字符前后都有一个空格。当在已存在的双引号之间复制粘贴该字符串时,Visual Studio会自动添加这些空格。解决方案是在手动粘贴或修复后添加引号。
添加了Anderson Pimental的评论作为答案,并对此表示感谢。考虑删除此问题但保留为其他问题,Visual Studio也可能会遇到此问题。
答案 1 :(得分:0)
代码(site - main
)中ID的连字符前后都有空格,而不是原始路径。