📅  最后修改于: 2023-12-03 15:28:52.589000             🧑  作者: Mango
如果你需要在 Ubuntu 服务器上使用 Puppeteer 进行自动化测试或爬虫任务,你需要安装相关的依赖和配置环境。
首先需要安装最新版本的 Node.js 和 npm。可以通过以下命令安装:
sudo apt update
sudo apt install nodejs npm
然后,安装 Puppeteer:
npm install puppeteer
如果出现安装错误,可能需要安装相关的依赖,可以使用以下命令:
sudo apt install -y libx11-xcb1 libxcb1-dev libxcb-dri3-0 libxcomposite1 libxdamage1 libxi6 libxtst6 libnss3 libcups2 libxss1 libxrandr2 libasound2 libpangocairo-1.0-0 libatk1.0-0 libatk-bridge2.0-0 libgtk-3-0
Puppeteer 默认运行 Chromium 浏览器,但在服务器上可能需要修改默认配置来让 Chromium 正常运行。
首先创建一个名为 puppeteer.json
的配置文件:
{
"executablePath": "/usr/bin/chromium-browser",
"args": ["--no-sandbox", "--disable-setuid-sandbox"]
}
然后,在 Puppeteer 中加载配置文件:
const puppeteer = require('puppeteer');
const config = require('./puppeteer.json');
(async () => {
const browser = await puppeteer.launch({
executablePath: config.executablePath,
args: config.args
});
const page = await browser.newPage();
// 在页面中执行操作
await browser.close();
})();
以下是一个示例,使用 Puppeteer 自动打开百度搜索,输入关键字并搜索,并将结果保存为截图:
const puppeteer = require('puppeteer');
const config = require('./puppeteer.json');
(async () => {
const browser = await puppeteer.launch({
executablePath: config.executablePath,
args: config.args
});
const page = await browser.newPage();
await page.goto('https://www.baidu.com', {waitUntil: 'networkidle0'});
await page.type('#kw', 'Puppeteer');
await page.click('#su');
await page.waitForSelector('#content_left');
await page.screenshot({path: 'baidu.png'});
await browser.close();
})();
以上是在 Ubuntu 服务器上安装和配置 Puppeteer 的步骤和示例。如果你有其他问题或困惑,请查阅官方文档或其他相关的资料。