總結了一下有關puppeteer的學習的網站,以后還會繼續更新
puppeteer 介紹
Puppeteer是一個通過DevTools Protocol控制headless chromium的高級node庫, 也可通過設置設置非headless Chromium.
Puppeteer有chrome官方團隊進行維護, 相對於其他如PhantomJs, CasperJs 前景更好.
=============================================================================================
Puppeteer 是一個node庫,他提供了一組用來操縱Chrome的API, 通俗來說就是一個 headless chrome瀏覽器 (當然你也可以配置成有UI的,默認是沒有的)。既然是瀏覽器,那么我們手工可以在瀏覽器上做的事情 Puppeteer 都能勝任, 另外,Puppeteer 翻譯成中文是”木偶”意思,所以聽名字就知道,操縱起來很方便,你可以很方便的操縱她去實現:
如果你用過 PhantomJS 的話,你會發現她們有點類似,但Puppeteer是Chrome官方團隊進行維護的,用俗話說就是”有娘家的人“,前景更好。
Puppeteer 適合干些什么事?
- 高級爬蟲,可以爬取大量異步渲染內容的網頁。爬取SPA應用,並生成預渲染內容(“SSR”服務端渲染)
- 幫助創建最新的自動化測試環境(chrome),可以直接運行測試用例,前端自動化測試(表單操作、事件模擬、鍵盤輸入… 等),模擬鍵盤輸入、表單自動提交、登錄網頁等,實現 UI 自動化測試
- 生成網頁截圖或者 PDF
- 捕獲站點的時間線,以便追蹤你的網站,幫助分析網站性能問題
- 從網站抓取內容
Chrome Headless環境要求
- Puppeteer要求node版本不低於v6.4.0,但是async/await只在Node v7.6.0或更高的版本支持。
- 需要最近版本的Chromium瀏覽器
官方API:https://github.com/GoogleChrome/puppeteer/blob/v0.13.0/docs/api.md
基礎篇:
二、《使用puppeteer-autotest 來為cnodejs 做自動化測試.》附錄:有相關網站案例
基礎+進階:
《無頭瀏覽器 Puppeteer 初探》、《Puppeteer 初探》
進階篇:
一、《Puppeteer初探--爬取並生成《ES6標准入門》PDF》
四、《Making a Master Puppeteer》(成為一個Puppeteer大師)