当试图拍摄任何网页的屏幕快照时,Puppeteer总是超时

时间:2019-07-16 14:07:10

标签: javascript puppeteer

这是我的代码:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://google.com/');
  await page.screenshot({path: 'example.png'});

  await browser.close();
})();

无论我尝试截图哪个网站,我总是会遇到以下错误:

(node:9548) UnhandledPromiseRejectionWarning: TimeoutError: Navigation Timeout Exceeded: 30000ms exceeded

我正在运行8.16.0版的节点。我不知道为什么我总是会超时。任何帮助表示赞赏。

编辑:

在关闭无头模式的情况下运行它似乎确实可以工作,但是我需要它作为无头浏览器运行。

1 个答案:

答案 0 :(得分:0)

尝试增加导航超时:

await page.goto('https://google.com/', { waitUntil: 'load', timeout: 50000 });

并添加try/catch

try {
 await page.goto('https://google.com/', { waitUntil: 'load', timeout: 50000 });
} catch(e) {
  console.log('Error--->', e);
}