国内如何下载安装 Puppeteer

AI 概述
方法一(推荐)方法二方法三方法四安装找到 puppeteer 中对应的浏览器并下载使用 执行 npm install puppeteer 时,有可能会报错,也有可能不会。只要没看到类似: Downloading Chromium r609904 - 82.7 Mb [=== ] 16% 990.3s 这样的输出,就是没有下载 Chromium。启动 app 后就会报错...
目录
文章目录隐藏
  1. 方法一(推荐)
  2. 方法二
  3. 方法三
  4. 方法四

执行 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 替换为版本号。

找到 puppeteer 中对应的浏览器并下载

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

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

替换后得到下载地址

chrome-mac.zip

下载后解压,放在项目目录中,这里我放在 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的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。

「点点赞赏,手留余香」

1

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » 国内如何下载安装 Puppeteer

发表回复