我想使用HtmlAgilityPack从页面中提取以下代码:
HtmlWeb web = new HtmlWeb();
var htmlDoc = web.Load(@"https://www.reddit.com/r/UpliftingNews/");
HtmlNode getChild = htmlDoc.DocumentNode.SelectSingleNode("//html/body/div[4]/div[2]/div/div[1]");
string xPath = getChild.FirstChild.XPath + "/div[2]/div/p[1]/a";
var node = htmlDoc.DocumentNode.SelectSingleNode(xPath).InnerText;
return node;
这不起作用,因为字符串xPath =“/ html [1] / body [1] / div [4] / div [2] / div [1] / div [1] / p [1] / div [2] / DIV / p [1] /一种”。 [1]基本上被添加到/ html,/ body和/ div。为什么?如何修复此问题以使xPath变得正确?