📜  需要安装 puppeteer 无头 ubuntu 服务器 - Javascript (1)

📅  最后修改于: 2023-12-03 15:28:52.589000             🧑  作者: Mango

需要安装 Puppeteer 无头 Ubuntu 服务器

如果你需要在 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 的步骤和示例。如果你有其他问题或困惑,请查阅官方文档或其他相关的资料。