Url Puppeter page.goto错误仅适用于readFileSync

Url Puppeter page.goto错误仅适用于readFileSync,url,puppeteer,readfile,Url,Puppeteer,Readfile,当使用wait page.goto(“”)时,会生成PDF,但当从csv文件加载相同的URL时,Puppeter会返回错误 Think is可能是一个时间问题,或者是从http重定向到https,但是脚本证明这两者都不是问题 注释掉的url是从单个CSV文件加载的,其中只有一行:“1,oldwestbury.edu,纽约州立大学Old Westbury分校” 希望确定为什么使用url direct创建PDF,以及为什么从CSV文件检索时页面加载失败。Review“我面临类似的问题puppetee

当使用wait page.goto(“”)时,会生成PDF,但当从csv文件加载相同的URL时,Puppeter会返回错误

Think is可能是一个时间问题,或者是从http重定向到https,但是脚本证明这两者都不是问题

注释掉的url是从单个CSV文件加载的,其中只有一行:“1,oldwestbury.edu,纽约州立大学Old Westbury分校”


希望确定为什么使用url direct创建PDF,以及为什么从CSV文件检索时页面加载失败。

Review“我面临类似的问题puppeteer@1.12.2无法检测从HTTP移动到HTTPS的URL。“在,但似乎不是问题。您有一个try/catch块,但是你实际上没有使用received,它说什么?另外,目标站点实际工作吗?我试图从纽约打开它,但出现了错误连接重置错误。目标站点是,错误是什么?是否有任何捕获块?这是一个挑战。。。错误是什么?发生错误时,catch块返回硬编码文本。
var dir1 = './screenshots';
var dir2 = './pdfs';
const fs = require('fs');

if (!fs.existsSync(dir1)) {
    fs.mkdirSync(dir1);
}

if (!fs.existsSync(dir2)) {
    fs.mkdirSync(dir2);
}

function readURLFile(path) {
    return fs.readFileSync(path, 'utf-8')
        .split('\n')
        .map((elt) => {
            const url = elt.split(',')[1].replace('\r', '');
            return `http://${url.toLowerCase()}`;
        });
}

const puppeteer = require('puppeteer');

(async () => {
    const startDate = new Date().getTime();
    const USER_AGENT = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3239.108 Safari/537.36';
    const urls = readURLFile('./UNVurls.csv');
    const browser = await puppeteer.launch({
        headless: true
    });

    for (let url of urls) {
        console.log(`Visiting url: ${url}`);
        let page = await browser.newPage();

        try {
            await page.setViewport({ width: 1440, height: 900, deviceScaleFactor: 2 });

            await page.goto('http://www.oldwestbury.edu')

            // await page.goto(url, {
                // waitUntil: 'networkidle2',
                // timeout: 0
            // });


            let fileName = url.replace(/(\.|\/|:|%|#)/g, "_");
            if (fileName.length > 100) {
                fileName = fileName.substring(0, 100);
            }

            await page.waitForSelector('title');
            await page.screenshot({
                path: `./screenshots/${fileName}.jpeg`,
                omitBackground: true
            });

            await page.emulateMedia('screen');

            await page.pdf({
                path: `./pdfs/${fileName}.pdf`,
                pageRanges: "1",
                format: 'A4',
                printBackground: true
            });

        } catch (err) {
            console.log(`An error occured on url: ${url}`);
        } finally {
            await page.close();
        }
    }

    await browser.close();
    console.log(`Time elapsed ${Math.round((new Date().getTime() - startDate) / 1000)} s`);

})();