📅  最后修改于: 2023-12-03 15:09:24.841000             🧑  作者: Mango
Puppeteer是一个Node.js库,它提供了一个高级API来通过DevTools协议控制无头版Chrome或Chromium。Puppeteer是对Headless Chrome的封装,可以让我们在没有UI的情况下,通过DevTools协议操纵Chrome或Chromium,完成网页爬取、页面截图、模拟表单提交、UI测试、网页性能分析等工作。
以下是在Linux 18.04上安装Puppeteer的步骤:
首先,如果你还没有安装Node.js,需要先安装它。我们可以通过NVM(Node Version Manager)来安装Node.js,这也是推荐的做法。
# 安装NVM
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
source ~/.bashrc
# 安装最新版Node.js
nvm install node
由于Puppeteer是对Headless Chrome的封装,因此我们需要先安装Chromium浏览器。我们可以通过apt-get来安装它:
sudo apt-get update && sudo apt-get install -y chromium-browser
现在,我们可以通过npm来安装Puppeteer了:
npm i puppeteer
如果你在中国大陆国内,建议使用代理来加速安装,比如:
npm i puppeteer --registry=https://registry.npm.taobao.org
注意:如果你使用的是npm v7或更高版本,在安装Puppeteer时可能会出现找不到Chromium的情况。此时可以手动指定Chromium的路径:
PUPPETEER_SKIP_DOWNLOAD=true PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser npm i puppeteer
现在,你已经成功安装了Puppeteer!
为了验证Puppeteer是否已经正确安装,我们可以尝试运行它提供的示例脚本来截取谷歌首页的截图:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({
headless: true, // 是否为无头模式
args: ['--no-sandbox'] // 取消沙盒模式
});
const page = await browser.newPage();
await page.goto('https://www.google.com');
await page.screenshot({ path: 'example.png' });
await browser.close();
})();
运行上述代码,如果一切正常的话,你可以在当前目录下看到一个example.png的截图文件,它应该是谷歌首页的截图。
通过上述步骤,你已经成功地在Linux 18.04上安装了Puppeteer。现在,你可以开始使用Puppeteer来完成各种网页爬取、页面截图、模拟表单提交、UI测试、网页性能分析等工作了。