UNPKG

squint-cli

Version:

Squint makes visual reviews of web app releases easy

32 lines (31 loc) 1.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.takeScreenshot = exports.screenshot = void 0; const utils_1 = require("./utils"); async function screenshot(pagePool, config) { await pagePool.use(async (page) => { await takeScreenshot(page, config.screenshotUrl, config.outFile, config); }); } exports.screenshot = screenshot; async function takeScreenshot(page, url, outputFile, config) { await page.goto(url, { waitUntil: 'networkidle2' }); if (config.js) { await utils_1.evalJs(config.js, page); } let element = null; if (config.selector) { await page.waitForSelector(config.selector); element = await page.$(config.selector); } else if (config.selectorJs) { element = await utils_1.evalJs(config.selectorJs, page); } if (element) { await element.screenshot({ path: outputFile, ...config.screenshotOptions }); } else { await page.screenshot({ path: outputFile, fullPage: true, ...config.screenshotOptions }); } } exports.takeScreenshot = takeScreenshot;