










WSL2:Ubuntu 22.04
NVM:0.39.7
Node.js:18.20.3
Npm:10.7.0
Puppeteer:22.12.1
习惯使用NVM管理Node版本,先来安装NVM(官网):
cd $HOME
mkdir -p .nvm
cd .nvm
wget https://github.com/nvm-sh/nvm/archive/refs/tags/v0.39.7.tar.gz
tar -zxvf v0.39.7.tar.gz
2. 配置环境
在~/.bashrc的末尾,添加如下语句:
export NVM_DIR="$HOME/.nvm/nvm-0.39.7"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
3. 使能配置
source ~/.bashrc
4. 安装Node.js版本
nvm install 18 --lts
--lts表示该大版本的最新稳定版
5. 查看当前已安装的Node.js版本列表:
nvm ls

const pageOpts = {
width: 1366,
height: 800,
deviceScaleFactor: 1,
};
const screenshotOpts = {
type: "png",
path: "thum.png",
fullPage: true,
};
const url = "https://www.itez.com.cn";
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.setViewport(pageOpts);
await page.goto(url, { waitUntil: "networkidle2" });
await page.screenshot(screenshotOpts);
反复提示缺少各种依赖,到处搜刮一顿操作之后是没问题了,但也不知道哪些是无所谓的。
apt install -y gconf-service libc6 libcairo2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libstdc++6 libx11-6
apt install -y libx11-xcb1 libxcb1 libxcursor1 libxext6 libxi6 libxrender1 libxtst6 ca-certificates fonts-liberation libappindicator1 lsb-release xdg-utils
apt install -y libnspr4 libdrm2 libxkbcommon0 libgbm1 libpango-1.0-0 libpangocairo-1.0-0 libxshmfence1
apt install -y libgtk-3-dev libnotify-dev libgconf-2-4 libxss1
apt install -y libnss3
apt install -y libatk1.0-0
apt install -y libatk-bridge2.0-0
apt install -y libcups2
apt install -y libxcomposite1
apt install -y libxdamage1
apt install -y libxfixes3
apt install -y libxrandr2
apt install -y libasound2
2. Redhat发行版如CentOS:
yum install atk at-spi2-atk libdrm libXcomposite libXdamage libXrandr libX11 libXcursor libXext libXi libXtst cups-libs libXScrnSaver alsa-lib
Error: Failed to launch the browser process! undefined
[16644:16644:0705/112140.109819:ERROR:zygote_host_impl_linux.cc(99)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
const browser = await puppeteer.launch({
args: ['--no-sandbox', '--disable-setuid-sandbox']
});
由于Linux对中文支持不好,需要手动安装中文字体,否则截图之后会发现中文部分全是小方框。
可安装文泉驿字体。
文泉驿是一个以开发开源、免费中文电子资源--如汉字字体、词库等--为目标的公益性组织。她的创办宗旨是实现“任何人在任何地方都可以自由使用汉字和汉语进行交流”。
# Debian
apt search wqy
# Redhat
yum search wqy

2. 安装字体
apt install fonts-wqy-microhei -y
apt install fonts-wqy-zenhei -y
apt install xfonts-wqy -y
在查找问题过程中发现的一些宝藏资源,标记一下。
Ubuntu服务器安装puppeteer
ubuntu系统安装Puppeteer
Linux安装部署Puppeteer踩坑
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。