我正在尝试使用无头式屏幕快照Chrome SSL错误页面,如下所示:
此Puppeteer代码在等待screenshot()时挂起,但可用于非SSL错误页面:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({headless: false});
const page = await browser.newPage();
const client = await page.target().createCDPSession()
// await client.send('Security.setIgnoreCertificateErrors', {ignore: true})
try {
await page.goto('https://neverssl.com', {
waitUntil: 'networkidle2',
timeout: 1000});
await page.screenshot({path: 'success.png'});
}
catch (ex) {
console.log("ERROR", ex)
await page.screenshot({path: 'error.png'});
}
await browser.close();
})();
我也尝试设置Security.setIgnoreCertificateErrors
,但这完全绕开了错误页面。
答案 0 :(得分:0)
目前似乎无法在Chrome / Chromium中捕获插页式广告的屏幕截图。
Josh's link解释了为什么会更深入的原因,但是简短的答案是,像我上面的屏幕截图一样,SSL错误就像一个特殊的叠加层,实际上不是页面的一部分。由于实际页面尚未完成渲染,因此尝试挂起屏幕快照会挂起。