13 lines
731 B
JavaScript
13 lines
731 B
JavaScript
import { chromium } from 'playwright';
|
|
const [,, url, out, width = '1440', full = 'true'] = process.argv;
|
|
const browser = await chromium.launch();
|
|
const page = await browser.newPage({ viewport: { width: Number(width), height: 900 }, deviceScaleFactor: 1 });
|
|
await page.goto(url, { waitUntil: 'networkidle', timeout: 60000 });
|
|
const total = await page.evaluate(() => document.documentElement.scrollHeight);
|
|
for (let y = 0; y < total; y += 500) { await page.evaluate((y) => window.scrollTo(0, y), y); await page.waitForTimeout(120); }
|
|
await page.evaluate(() => window.scrollTo(0, 0));
|
|
await page.waitForTimeout(1200);
|
|
await page.screenshot({ path: out, fullPage: full === 'true' });
|
|
await browser.close();
|
|
console.log('saved', out);
|