安装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 版权协议,转载请附上原文出处链接和本声明。