2

关于 puppeteer 的问题

 2 years ago
source link: https://www.v2ex.com/t/822662
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

V2EX  ›  Node.js

关于 puppeteer 的问题

  aglsv · 23 小时 5 分钟前 · 504 次点击

我通过 page.goto 来访问我要打印的页面,但是执行的时候就会提示net::ERR_NAME_NOT_RESOLVED,我想问问这是什么情况啊,我这个页面直接浏览器打开是可以成功打开的,好奇怪啊,是在调用之前 setCookie 有问题导致的吗

第 1 条附言  ·  6 小时 46 分钟前

域名的问题,重设了一下域名,他可以了,但是一直提示超时 timeout 30000ms exceeded,还是我直接浏览器打开就没有问题,想问问这个是为啥啊,url直接换成百度也不成,依旧提示这个

let browser = await puppeteer.launch({
        headless: true,
        ignoreHTTPSErrors: true,
        args: [
            '--no-sandbox',
            '--disable-setuid-sandbox',
            '--disable-dev-shm-usage'
        ],
        executablePath: '/mnt/fun/fun/local-chromium/Linux-706915/chrome-linux/chrome'
    });
    
    const page = await browser.newPage();
    //将超时时间设置成无限
    page.setDefaultTimeout(0);
    page.setDefaultNavigationTimeout(0);
    //setCookie
    console.log('设置token')
    if (token && token !== '') {
         await page.setCookie({ name: 'localtoken', value: token, domain: "."+domain })
         
        };
    await page.setCookie({ name: 'source', value: 'ali',  domain: '.'+domain })
    //启动网页尝试5次
    let netErrorTime = 1;
    for (var urlNumber = 1; urlNumber < 6; urlNumber++){
        try {
            console.log('访问url次数',urlNumber,':',url)
            await page.goto(url, { waitUntil: 'domcontentloaded'});
            break
        }catch (e) {
            console.log('打开url错误开始重试')
            console.log(e)
            if (urlNumber >= 5) {
                console.log('打开url失败')
            }
        }
    }
    //设置监控
    const tags = browser.pages()
    console.log('标签页', (await tags).length)
    const watchDog = page.waitForFunction('window.status == "loaded"', { timeout: 30 * 1000 });
    await watchDog;

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK