На основе https://github.com/GoogleChrome/puppeteer
Вам нужно только запустить следующую команду в Ubuntu 18.04
npm i puppeteer
К сожалению, этого недостаточно.
Вам потребуетсяследующие зависимости
sudo apt-get install gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget
После чего, если вы запустите его в соответствии с их примером, вы получите ошибку
(node:28469) UnhandledPromiseRejectionWarning: Error: Failed to launch chrome!
[1025/150325.817887:ERROR:zygote_host_impl_linux.cc(89)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
Решение этой проблемы
const browser = await puppeteer.launch({args: ['--no-sandbox']});
Добавление --no-sandbox
Тогда оно будет работать соответственно.Полный рабочий исходный код ниже
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({args: ['--no-sandbox']});
const page = await browser.newPage();
await page.goto('http://owlcommand.com');
await page.screenshot({path: 'example.png'});
await browser.close();
})();
Решение для puppeteer@1.9.0~install: не может работать в wd% s% s (wd =% s)
npm install --unsafe-perm
Размер снимка экрана
Значение по умолчанию очень мало, если тестируемая страница отзывчива, вы можете протестировать ее с другими настройками области просмотра.Вы можете изменить его размеры с помощью метода setViewport.
await page.setViewport({
width: 1600,
height: 1000
});