首頁 > web前端 > js教程 > 在伺服器上運行 Puppeteer:完整教程

在伺服器上運行 Puppeteer:完整教程

Mary-Kate Olsen
發布: 2025-01-01 03:02:10
原創
839 人瀏覽過

Running Puppeteer on a Server: A Complete Tutorial

Puppeteer 是一個 Node.js 函式庫,它提供進階 API 來透過 DevTools 協定控制 Chrome 或 Chromium 瀏覽器。它是一個強大的工具,可用於網頁抓取、自動化測試、擷取螢幕截圖等。雖然在本地使用 Puppeteer 很簡單,但在伺服器上運行它需要額外的考慮。本指南將引導您完成在伺服器上啟動並執行 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

執行以下命令來安裝最新版本的 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中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板