【发布时间】:2019-09-30 08:49:54
【问题描述】:
我正在使用 puppeteer 和 node js 创建一个屏幕截图生成器。它适用于普通网页,但对于 pdf 页面,每次运行时它总是给出相同的错误
这是代码(https://github.com/GoogleChrome/puppeteer 的第一个示例)
const puppeteer = require('puppeteer');
(async () => {
try {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf');
await page.screenshot({ path: 'example.png' });
await browser.close();
} catch (err) {
console.log(err);
}
})();
我得到的错误
Error: net::ERR_ABORTED at https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf
at navigate (C:\MEAN\puppeteer-demo\node_modules\puppeteer\lib\FrameManager.js:121:37)
at process._tickCallback (internal/process/next_tick.js:68:7)
-- ASYNC --
at Frame.<anonymous> (C:\MEAN\puppeteer-demo\node_modules\puppeteer\lib\helper.js:110:27)
at Page.goto (C:\MEAN\puppeteer-demo\node_modules\puppeteer\lib\Page.js:629:49)
at Page.<anonymous> (C:\MEAN\puppeteer-demo\node_modules\puppeteer\lib\helper.js:111:23)
at C:\MEAN\puppeteer-demo\index.js:7:20
at process._tickCallback (internal/process/next_tick.js:68:7)
感谢任何帮助。我也愿意接受任何其他可能的解决方案。
【问题讨论】:
-
您将无法从 PDF 中截取屏幕截图,因为 Chromium 没有创建目标。当 Chromium 加载一个 PDf 时,它正在加载一个 PDF 查看器,这不是目标开发人员工具可以调试的。