14 lines
780 B
JavaScript
14 lines
780 B
JavaScript
import { chromium } from 'playwright';
|
|
const [,, url, prefix, anchor, width = '1440', height = '900', step = '450', count = '10'] = process.argv;
|
|
const browser = await chromium.launch();
|
|
const page = await browser.newPage({ viewport: { width: Number(width), height: Number(height) } });
|
|
await page.goto(url, { waitUntil: 'networkidle' });
|
|
const start = await page.evaluate((sel) => document.querySelector(sel).getBoundingClientRect().top + window.scrollY, anchor);
|
|
for (let i = 0; i < Number(count); i++) {
|
|
await page.evaluate((y) => window.scrollTo(0, y), start + i * Number(step));
|
|
await page.waitForTimeout(i === 0 ? 3000 : 1800);
|
|
await page.screenshot({ path: `${prefix}-${String(i).padStart(2, '0')}.png` });
|
|
}
|
|
await browser.close();
|
|
console.log('stack shots', count);
|