C# - SelectNode在HtmlAgilityPack中返回Null

时间:2016-07-05 00:18:33

标签: c# html-agility-pack selectnodes

我正试图从Instagram个人资料中获取一些信息。 我使用Google Chrome生成了XPath

//*[@id="react-root"]/section/main/article/div/div[1]/div

但是,没有找到任何东西。 我只能找到

  //*[@id="react-root"]

这是**<span>**

没有更多的地方,有什么理由吗?我做错了吗?

var baseURL = "https://www.instagram.com/";

var client = new HtmlWeb();


var paginaPerfil = client.Load(baseURL + "belalao");


var nos = paginaPerfil.DocumentNode.SelectNodes("//*[@id='react-root']/section/main/article/div/div[1]/div");
            var quantidade = nos == null ? 0 : nos.Count;

1 个答案:

答案 0 :(得分:1)

目前,https://www.instagram.com/belalao有一个空<span id="react-root"></span>,因此您的代码按预期工作。也许您期望使用React组件填充DOM的JavaScript将会执行,但HtmlAgilityPack将只分析您下载的初始 HTML,而不是之后执行JavaScript并进行分析。

在页面上查看源代码(与使用DOM检查器不同),您将看到它所看到的内容。