Puppeteer网络抓取缺少html的一部分



我正在尝试web抓取此网站:https://kineticlabs.store/switches.然而,当我运行下面的代码时,与在Chrome上检查网页相比,html缺少了许多子div元素。我很困惑为什么会这样,因为它似乎只发生在这个特定的网站上。提前谢谢。

let page = await configureBrowser(url);
await page.reload();
let html = await page.evaluate(() => document.body.innerHTML);

链接的网站是一个单页应用程序,所有这些都是用javascript渲染的,因此您需要给它时间来加载、解析和渲染。

最好等待一个元素,该元素保证只有在应用程序启动后才存在。

await page.reload();
// Wait until #root is populated by the app
await page.waitForSelector('#root > div');
const products = await page.evaluate(() =>
[...document.querySelectorAll('.hwsyok')].map(
(product) => product.innerText
)
);

最新更新