Install npm, Puppeteer and dependencies:
apt update -y && apt upgrade -y apt install -y npm apt install -y libx11-xcb1 libxcomposite1 libxcursor1 libxdamage1 libxi-dev libxtst-dev libnss3 libcups2 libxss1 libxrandr2 libasound2 libatk1.0-0 libatk-bridge2.0-0 libpangocairo-1.0-0 libgtk-3-0 libgbm1 npm install -g n n lts hash -r npm install puppeteer
Install Chrome without snap:
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb apt install ./google-chrome-stable_current_amd64.deb
Make a test file test.js:
const puppeteer = require('puppeteer'); const fs = require('fs'); async function run () { const browser = await puppeteer.launch({ executablePath: '/usr/bin/google-chrome-stable', args: ['--no-sandbox'], defaultViewport: {width: 1920, height: 1080} }); const page = await browser.newPage(); await page.goto('https://www.google.com'); await sleep(3000); await page.screenshot({path: 'screenshot.png'}); const html = await page.content(); fs.writeFileSync('source.htm', html); browser.close(); } run(); function sleep(ms) { return new Promise((resolve) => { setTimeout(resolve, ms); }); }
Test it:
node test.js