У меня проблема с кукловодом - каждый раз, когда я пытаюсь сделать снимок экрана другого веб-сайта, я получаю эту ошибку:
(node:2359) UnhandledPromiseRejectionWarning: Error: socket hang up
at createHangUpError (_http_client.js:313:15)
at Socket.socketOnEnd (_http_client.js:409:23)
at Socket.emit (events.js:187:15)
at endReadableNT (_stream_readable.js:1086:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
(node:2359) 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:2359) [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.
И это мой сценарий, который я пытаюсь выполнить из SSH:
const http = require('http');
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({ args: ['--no-sandbox']});
const page = await browser.newPage();
await page.setViewport({ width: 780, height: 580 });
await page.goto('https://www.google.pl/');
await page.waitFor(15200);
await page.screenshot({path: 'testScreenshot.jpg'});
await browser.close();
})();
Я не знаю, что я делаю неправильно, я уже установил все недостающие зависимости, недостающие библиотеки и т. Д. И все еще получаю эту ошибку.
Я использую CentOS7, NodeJS 10.1.0 и NPM 5.6.0.
Один и тот же сценарий с теми же библиотеками и теми же зависимостями и т. Д. Хорошо работает на бродячем компьютере с установленной операционной системой GNU / Linux общего назначения ОС 3.13.0-44.
Я выполняю скрипт nodejs из SSH с правами su.
Я также пытался установить этот скрипт для установки отсутствующих библиотек:
yum install pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64
libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-
libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-
lib.x86_64 atk.x86_64 gtk3.x86_64 -y
И затем centos говорит, что ничего новогоустановить, но я все еще получаю сообщение об ошибке при зависании сокета.
Да, и я также забыл, мои зависимости от package.json:
"dependencies": {
"chromium": "^1.0.2",
"puppeteer": "^1.8.0",
"puppeteer-core": "^1.8.0"
}