範例與使用案例
官方範例
Puppeteer 儲存庫包含 Puppeteer 團隊維護的少量範例。
請按照 README 中的說明執行範例,涵蓋從網站建立 PDF、建立螢幕截圖或攔截請求等使用案例。
範例套件
在 Puppeteer 的專用範例儲存庫中找到一組非結構化的範例。
此套件是隨著時間推移而增長的範例集合,涵蓋各種使用案例,例如將來自 Puppeteer 程序的事件轉發到瀏覽器、與元素互動以及執行 CDP 命令。
其他專案、文章和演示
請參閱以下列表,了解來自「渲染」、「網頁抓取」和「測試」等類別的使用案例和範例。
渲染和網頁抓取
- Puppetron:示範網站,展示如何使用 Puppeteer 和 Headless Chrome 渲染頁面。靈感來自 GoogleChrome/rendertron。
- Thal:開始使用 Puppeteer 和 Chrome Headless 進行網頁抓取。
- pupperender:Express 中介軟體,檢查傳入請求的 User-Agent 標頭,如果它與一組可配置的機器人之一相符,則使用 Puppeteer 渲染頁面。對於 PWA 渲染很有用。
- headless-chrome-crawler:提供 API 來操作 Headless Chrome 並讓您抓取動態網站的爬蟲程式。
- 來自 Checkly 的 Puppeteer 範例:適用於實際使用案例的 E2E Puppeteer 範例,例如從網頁取得有用的資訊或常見的登入情境。
- browserless:將 Headless Chrome 作為服務,讓您遠端執行 Puppeteer 指令碼。
- AWS Lambda 上的 Puppeteer:使用 Serverless 架構在 AWS Lambda 上執行 puppeteer
- Apify SDK:適用於 JavaScript 的可擴展網頁抓取和抓取程式庫。自動管理 Puppeteer 瀏覽器池,並提供錯誤處理、任務管理、代理輪換等功能。
測試
- angular-puppeteer-demo:示範儲存庫,說明如何在 Karma 中使用 Puppeteer。
- mocha-headless-chrome:透過 headless Chrome 在命令列中執行用戶端 mocha 測試的工具。
- puppeteer-to-istanbul-example:示範儲存庫,展示如何以 Istanbul 格式輸出 Puppeteer 覆蓋率。
- jest-puppeteer:用於設定和執行 Jest 和 Puppeteer 的(幾乎)零配置工具。還包含 Puppeteer 的斷言程式庫。
- puppeteer-har:使用 puppeteer 產生 HAR 檔案。
- puppetry:用於建置 Puppeteer 和 Jest 驅動測試的桌面應用程式,無需編碼。
- puppeteer-loadtest:用於在 Puppeteer 指令碼上執行負載測試的命令列介面。
- cucumber-puppeteer-example:示範如何使用 Puppeeteer 和 Cucumber 進行整合測試的範例儲存庫。