Chrome 在页面加载结束前使用PuppeteerHeadless Chromium 进行屏幕截图

lo8azlld  于 2023-05-11  发布在  Go
关注(0)|答案(2)|浏览(133)

我在用puppeteer从一个闭路电视直播中截取一个图像地址是:192.168.1.1/display_pic.cgi?cam=6&res=low
问题是,页面是不断加载的,因为它是一个实时流。
Puppeteer最终会在加载页面时出现超时错误。有没有办法绕过这个问题,强制截图,然后关闭页面?
这里的示例流为http://74.95.30.43/display_pic.cgi?cam=1&res=low
先谢谢你了!

nkkqxpd9

nkkqxpd91#

你可以在catch块中处理超时异常,然后继续截图。这里我使用了domcontentloaded而不是networkidle,因为服务器仍然在为客户端服务。示例代码:-

await page.goto(pageUrl, { waitUntil: ['domcontentloaded'], timeout: testTimeout }).catch((err) => {
  console.log(err);
});
await page.screenshot({path: 'example.png'});
tvokkenx

tvokkenx2#

您可以不等待页面加载完成。这就是我在调查DOM完全加载之前出现的无样式内容问题时所做的工作。

相关问题