puppeteer-core launch 卡住问题

  • Post author:
  • Post category:其他


安装puppeteer会自动下载chromium,且下载常常有问题。

因此puppeteer-core 相对于puppeteer 可以自己指定本机安装的浏览器。

puppeteer 用于打开浏览器,根据脚本自动操作页面内容。我这里用于获取网页的Cookie。

代码

import puppeteer from 'puppeteer-core';
/**获取地址的cookie*/
async function getCookie() {
    let browser = await puppeteer.launch({
        executablePath: 'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe'
    });// 执行到这里会卡住
    
    let page = await browser.newPage();
    page.setViewport({
        width: 1366,
        height: 768
    });
    await page.setCookie({name:'',value:'''}); // 设置认证中心的cookie
    await page.goto('http://xxx.com'); // 这个页面的认证根据认证中心的cookie来登录。
    await page.waitForNavigation(); // 等待路由跳转
    const cookie = await page.evaluate(() => document.cookie); // 从控制台获取这个页面的cookie
    await browser.close();
};

现象

执行到 await puppeteer.launch 会卡住

解决

每个puppeteer 版本都对应一个浏览器版本。根据官网:


Chromium Support | Puppeteer (pptr.dev)

电脑上的chrome 为低版本的就要安装对应版本的puppeteer。



版权声明:本文为qq_35459724原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。