Puppeteer 是一个 Node.js 库,它提供高级 API 来通过 DevTools 协议控制 Chrome 或 Chromium 浏览器。它是一个强大的工具,可用于网页抓取、自动化测试、捕获屏幕截图等。虽然在本地使用 Puppeteer 很简单,但在服务器上运行它需要额外的考虑。本指南将引导您完成在服务器上启动并运行 Puppeteer 的步骤。
这一步对于Puppeteer的成功执行至关重要。执行以下命令。
sudo apt update -y sudo apt upgrade -y
安装以下依赖项以确保 Puppeteer 顺利运行。
sudo apt-get install libpangocairo-1.0-0 libx11-xcb1 libxcomposite1 libxcursor1 libxdamage1 libxi6 libxtst6 libnss3 libcups2 libxss1 libxrandr2 libatk1.0-0 libgtk-3-0 libasound2t64
执行以下命令来安装最新版本的 Puppeteer,为了获得最佳性能,始终建议安装最新版本。
npm i puppeteer
您可以使用以下代码片段通过在您想要的路线调用此函数来验证 Puppeteer 是否正常运行。
const puppeteer = require("puppeteer"); /** * Launches a Puppeteer browser, navigates to a webpage, and then closes the browser. * * Launch Options: * - headless: Run the browser in headless mode (no GUI). * - args: * - "--no-sandbox": Required if running as the root user. * - "--disable-setuid-sandbox": Optional, try if you encounter sandbox errors. */ const runPuppeteer = async () => { try { // Launch a Puppeteer browser instance with custom arguments const browser = await puppeteer.launch({ headless: true, args: [ "--no-sandbox", "--disable-setuid-sandbox", ], }); // Open a new page in the browser const page = await browser.newPage(); // Navigate to the specified URL await page.goto("https://www.google.com"); console.log("Navigation to Google completed."); // Close the browser await browser.close(); console.log("Browser closed successfully."); } catch (error) { console.error("An error occurred:", error); } }; // Execute the function runPuppeteer();
在服务器上运行 Puppeteer 需要仔细设置来处理依赖项、权限和资源。通过遵循本指南,您可以有效地部署 Puppeteer 来执行服务器环境中的网页抓取或自动化测试等任务。对于更高级的用例,请考虑使用 PM2 等工具进行流程管理,使用 Docker 进行容器化。
请随时与其他人分享本指南,如果您按照说明操作后遇到任何问题,请在评论中告诉我们。
以上是在服务器上运行 Puppeteer:完整教程的详细内容。更多信息请关注PHP中文网其他相关文章!