【问题标题】:Screenshot Chrome SSL error page via headless mode通过无头模式截屏 Chrome SSL 错误页面
【发布时间】:2019-01-28 07:52:23
【问题描述】:

我正在尝试使用无头屏幕截图如下所示的 Chrome SSL 错误页面:

此 Puppeteer 代码挂起等待屏幕截图(),但适用于非 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,但完全绕过了错误页面。

【问题讨论】:

标签: google-chrome puppeteer headless


【解决方案1】:

目前似乎无法在 Chrome/Chromium 中捕获插页式广告的屏幕截图。

Josh's link 更深入地解释了原因,但简短的回答是,像我上面的屏幕截图这样的 SSL 错误就像一个特殊的叠加层,实际上并不是页面的一部分。由于实际页面尚未完成渲染,因此尝试截屏时挂起。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-23
    • 1970-01-01
    • 1970-01-01
    • 2019-12-27
    • 2019-01-10
    • 2021-09-12
    相关资源
    最近更新 更多