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 检查器不同),您会看到它所看到的。
我正在尝试从 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 检查器不同),您会看到它所看到的。