Скрипт Puppeteer не завершается при открытии выходного файла - PullRequest
0 голосов
/ 04 февраля 2020

Я использую «официальный» скрипт Puppeteer для создания PDF-файла с веб-страницы на windows. Когда выходной файл уже открыт в моем средстве просмотра PDF, сценарий зависает после сообщения об ошибке.

Как мне сделать это, чтобы выйти в оболочку? Я знаю, что могу просто закрыть файл вручную, но для меня важно, чтобы скрипт не зависал по какой-либо причине (могут быть другие ошибки).

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://news.ycombinator.com', {waitUntil: 'networkidle2'});
  await page.pdf({path: 'hn.pdf', format: 'A4'});

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

Результат:

(node:13884) UnhandledPromiseRejectionWarning: Error: EBUSY: resource busy or locked, open 'E:\puppeteer\hn.pdf'
  -- ASYNC --
    at Page.<anonymous> (E:\puppeteer\node_modules\puppeteer\lib\helper.js:111:15)
    at E:\puppeteer\hn.js:7:14
    at process._tickCallback (internal/process/next_tick.js:68:7)
(node:13884) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:13884) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

... и я не вернусь к подсказке, пока не нажму CTRL + C.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...