HTML 中存在对象,但我无法 select 它

Object exists in the HTML but I'm unable to select it

我正在写一个 scraper。当我在 chrome 中使用检查元素时,我看到以下内容:

但是当我 运行 我的代码 Elements data = doc.select("div.item-header"); 并打印对象 data 时,我看到该对象具有以下块 html 其中:

<div class="item-header"> 
 <h1 class="text size-20">Snake print bell sleeves top</h1> 
 <div class="text size-12 muted brandname ma_top5">
       <!-- data here is irrelevant --> 
 </div> 
</div>

所以,我不明白的是,为什么我的代码 html 与 chrome 的检查元素中可见的不同?我在这里错过了什么?

我正在使用 java,库是 Jsoup。非常感谢任何帮助。

网站由 HTML 和 JavaScript 代码组成。 JavaScript 通常在页面加载时执行,并且页面的源代码可能被修改或异步 AJAX 调用加载了一些额外的内容。 Jsoup 无法解析 Javascript 所以它只能解析原始的 HTML 文档。
不要使用 Chrome 的 Inspect 选项,因为它在可能的转换后显示 HTML。使用 View source (CTRL+U)。这样您将看到未被 JavaScript 修改的原始 HTML 源代码(您也可以尝试在禁用 JavaScript 的情况下重新加载页面)。原始来源是 Jsoup 下载和解析的内容。
如果是这种情况,并且您真的想解析由 JavaScript 加载的数据,请尝试在 Chrome 的 Network 选项卡中观察 XHR 请求。您可以查看此答案以了解我的意思: