国内如何下载安装 Puppeteer
执行 npm install puppeteer 时,有可能会报错,也有可能不会。只要没看到类似:
Downloading Chromium r609904 - 82.7 Mb [=== ] 16% 990.3s
这样的输出,就是没有下载 Chromium。启动 app 后就会报错:
nodejs.Error: Chromium revision is not downloaded. Run "npm install" or "yarn install"
此时再执行这些命令通常没有用,因为能下载第一次安装时就会下载了。
方法一(推荐)
在终端执行:
PUPPETEER_DOWNLOAD_HOST=https://storage.googleapis.com.cnpmjs.org npm install puppeteer
改用 cnpm 的镜像地址下载。此方法基本无副作用。
方法二
改用 puppeteer-cn:
npm install --save puppeteer-cn
需要本地 Chrome 版本大于 59。详见:puppeteer-cn
方法三
用 cnpm 安装:
cnpm install puppeteer
cnpm 是淘宝的镜像源,出于一些原因,我个人已经不再使用。关于 cnpm:cnpm
方法四
最复杂的手动安装,建议没事别折腾。
这里使用 puppeteer-core 之后使用手动下载的 Chrome 进行操作。思路很简单,安装一个不带浏览器的 puppeteer,再使用的时候将浏览器地址指向一个可执行的 Chrome 浏览器文件。
安装
安装puppeteer-core。
yarn add puppeteer-core
找到 puppeteer 中对应的浏览器并下载
在 node_modules/puppeteer-core/lib/BrowserFetcher.js 中找到各平台 Chrome 下载地址。其中%s 替换为 DEFAULT_DOWNLOAD_HOST 的值,%d 替换为版本号。

在 node_modules/puppeteer-core/packages.json 中找到版本号

替换后得到下载地址
下载后解压,放在项目目录中,这里我放在 chrome 下。
使用
这样就可以使用了。
使用代码:
const puppeteer = require('puppeteer-core');
const path = require('path');
(async () => {
const browser = await puppeteer.launch({
// 这里注意路径指向可执行的浏览器。
// 各平台路径可以在 node_modules/puppeteer-core/lib/BrowserFetcher.js 中找到
// Mac 为 '下载文件解压路径/Chromium.app/Contents/MacOS/Chromium'
// Linux 为 '下载文件解压路径/chrome'
// Windows 为 '下载文件解压路径/chrome.exe'
executablePath: path.resolve('./chrome/Chromium.app/Contents/MacOS/Chromium')
});
const page = await browser.newPage();
await page.setViewport({
width: 375,
height: 667,
deviceScaleFactor: 1,
isMobile: true
})
await page.goto('https://mybj123.com/');
await page.screenshot({path: 'mybj-blog.png'});
await browser.close();
})();
执行文件:
node index.js
以上关于国内如何下载安装 Puppeteer的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » 国内如何下载安装 Puppeteer
微信
支付宝