У меня есть список URL-адресов в текстовом файле. Я хочу получить скриншот для каждой страницы автоматически, читая каждый URL из текстового файла с помощью Puppeteer.
const puppeteer = require('puppeteer');
async function doScreenCapture(url, site_name) {
let browser = await puppeteer.launch({ headless: false });
let page = await browser.newPage();
await page.goto(url);
await page.setViewport({width: 1382, height: 717})
await page.waitFor(1000);
console.log('do screen capture running');
await page.screenshot({ path:`${site_name}.png`, fullPage: true });
await page.close();
await browser.close();
}
async function run() {
console.log('running');
var fs = require("fs");
var text = fs.readFileSync("linksList.txt").toString().split("\n");
for (var i = 0; i < text.length; ++i) {
doScreenCapture(text[i], "image"+i)
console.log("image"+i+" completed");
await page.waitFor(5000);
}
}
run();
Это ошибка, которую я получил при запуске кода
(узел: 77868) UnhandledPromiseRejectionWarning: ReferenceError: страница не определена
при запуске (C: \ Users \ S533488 \ Documents \ Web Mining \ Пробный кукловод в justDail \ MultipleScreenshots.js: 39: 13)
на объекте. (C: \ Users \ S533488 \ Documents \ Web Mining \ Пробный кукловод в justDail \ MultipleScreenshots.js: 43: 1)
в Module._compile (module.js: 653: 30)
в Object.Module._extensions..js (module.js: 664: 10)
в Module.load (module.js: 566: 32)
в tryModuleLoad (module.js: 506: 12)
в Function.Module._load (module.js: 498: 3)
в Function.Module.runMain (module.js: 694: 10)
при запуске (bootstrap_node.js: 204: 16)
в bootstrap_node.js: 625: 3
(узел: 77868) UnhandledPromiseRejectionWarning: необработанное отклонение обещания. Эта ошибка возникла либо из-за того, что внутри асинхронной функции возникла ошибка без блока catch, либо из-за отклонения обещания, которое не было обработано с помощью .catch (). (идентификатор отклонения: 1)
(узел: 77868) [DEP0018] Предупреждение об устаревании: отклонение необработанного обещания устарело. В будущем отклонения обещаний, которые не обрабатываются, завершат процесс Node.js с ненулевым кодом завершения.
сделать снимок экрана работает.