Вам необходимо await
page.evaluate()
, так как он возвращает обещание:
var output = await page.evaluate(() => {
return;
});
Убедитесь, что вы используете process.on('unhandledRejection')
чтобы прослушать необработанные отклонения обещания и изящно закрыть браузер, если такое событие должно произойти:
process.on('unhandledRejection', (reason, p) => {
console.error('Unhandled Rejection at: Promise', p, 'reason:', reason);
browser.close();
});
Ваш окончательный код должен выглядеть примерно так:
'use strict';
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
process.on('unhandledRejection', (reason, p) => {
console.error('Unhandled Rejection at: Promise', p, 'reason:', reason);
browser.close();
});
await page.goto('https://dn.se', {
waitUntil: 'domcontentloaded',
});
var output = await page.evaluate(() => {
return;
});
await browser.close();
})();