C# - SelectNode Return HtmlAgilityPack 中为空

C# - SelectNode Return Null in HtmlAgilityPack

我正在尝试从 Instagram 个人资料中获取一些信息。 我用 Google Chrome

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

但是,什么也找不到。 我只能找到up

  //*[@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;

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

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