【发布时间】:2019-07-11 04:12:14
【问题描述】:
我正在尝试在网页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 的此类问题?
【问题讨论】:
-
您的代码 (
site - main) 中的 id 上的连字符前后有空格,而不是在原始路径上。 -
感谢@Anderson Pimentel。这似乎是 Visual Studio 编辑器的问题。如果是直接复制粘贴在双引号内,则 Visual Studio 编辑器正在重新格式化。粘贴后必须添加双引号或手动修复它。希望有一个选项来控制重新格式化。
-
我认为在 SO 中发帖有问题。很高兴这是解决方案!我将发布作为答案,因此您可以接受。
标签: .net xpath html-agility-pack