版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、puppeteer 入門教程puppeteer 是一個node庫,他提供了一組用來操縱chrome的api, 通俗來說就是一個 headless chrome掃瞄器 (固然你也可以配置成有ui的,默認是沒有的)。既然是掃瞄器,那么我們手工可以在掃瞄器上做的事情 puppeteer 都能勝任, 另外,puppeteer 翻譯成中文是木偶意思,所以聽名字就知道,操縱起來很便利,你可以很便利的操縱她去實現:1) 生成網頁截圖或者 pdf2) 高級爬蟲,可以爬取大量異步渲染內容的網頁3) 模擬鍵盤輸入、表單自動提交、登錄網頁等,實現 ui 自動化測試4) 捕捉站點的時光線,以便追蹤你的網站,協(xié)助分析網
2、站性能問題假如你用過 phantomjs 的話,你會發(fā)覺她們有點類似,但puppeteer是chrome官方團隊舉行維護的,用俗話說就是有娘家的人,前景更好。查看 puppeteer 的官方 api 你會發(fā)覺滿屏的 async, await 之類,這些都是 es7 的規(guī)范,所以你需要:nodejs 的版本不能低于 v7.6.0, 需要支持 async, await.需要最新的 chrome driver, 這個你在通過 npm 安裝 puppeteer 的時候系統(tǒng)會自動下載的先開看看正式的入門的 demo上面這段代碼就實現了網頁截圖,先也許解讀一下上面幾行代碼:先通過 puppeteer.la
3、unch() 創(chuàng)建一個掃瞄器實例 browser 對象然后通過 browser 對象創(chuàng)建頁面 page 對象然后 page.goto() 跳轉到指定的頁面調用 page.screenshot() 對頁面舉行截圖關閉掃瞄器是不是覺得好容易? 反正我是覺得比 phantomjs 容易,至于跟 selenium-webdriver 比起來, 那更不用說了。下面就介紹一下 puppeteer 的常用的幾個 api。用法 puppeteer.launch() 運行 puppeteer,它會 return 一個 promise,用法 then 辦法獵取 browser 實例, 固然高版本的 的 nodej
4、s 已經支持 await 特性了,所以上面的例子用法 await 關鍵字,這一點需要特別解釋一下,puppeteer 幾乎全部的操作都是 異步的, 為了用法大量的 then 使得代碼的可讀性降低,本文全部 demo 代碼都是用 async, await 方式實現。這個 也是 puppeteer 官方推舉的寫法。對 async/await 一臉懵逼的學生狠狠的戳這里options 參數詳解參數名稱參數類型參數解釋ignorehttpserrorsboolean在哀求的過程中是否忽視 https 報錯信息,默認為 falseheadlessboolean是否以無頭的模式運行 chrome, 也就是
5、不顯示 ui, 默認為 trueexecutablepathstring可執(zhí)行文件的路勁,puppeteer 默認是用法它自帶的 chrome webdriver, 假如你想指定一個自己的 webdriver 路徑,可以通過這個參數設置slowmonumber使 puppeteer 操作減速,單位是毫秒。假如你想看看 puppeteer 的囫圇工作過程,這個參數將十分實用。argsarray(string)傳遞給 chrome 實例的其他參數,比如你可以用法–ash-host-window-bounds=1024x768 來設置掃瞄器窗口大小。更多參數參數列表可以參考這里h
6、andlesigintboolean是否允許通過進程信號控制 chrome 進程,也就是說是否可以用法 ctrl+c 關閉并退出掃瞄器。timeoutnumber等待 chrome 實例啟動的最長時光。默認為30000(30秒)。假如傳入 0 的話則不限制時光dumpioboolean是否將掃瞄器進程stdout和stderr導入到process.stdout和process.stderr中。默認為false。userdatadirstring設置用戶數據名目,默認linux 是在 ——/.config 名目,window 默認在 c:usersuser
7、appdatalocalgooglechromeuser data, 其中 user 代表當前登錄的用戶名envobject指定對chromium可見的環(huán)境變量。默認為process.env。devtoolsboolean是否為每個選項卡自動打開devtools面板, 這個選項惟獨當 headless 設置為 false 的時候有效當 puppeteer 銜接到一個 chrome 實例的時候就會創(chuàng)建一個 browser 對象,有以下兩種方式:puppeteer.launch 和 puppeteer.connect.下面這個 demo 實現斷開銜接之后重新銜接掃瞄器實例browser 對象 api辦法名稱返回值解釋browser.close()promise關閉掃瞄器browser.disconnect()void斷開掃瞄器銜接browser.newpage()promise(page)創(chuàng)建一個 page 實例browser.pages()promise(array(page)獵取全部打開的 page 實例browser.targets()array(target)獵取全部活動的 targetsbrows
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年倉儲調味品調料存儲服務合同
- 2025年家用電器擔保協(xié)議
- 2025年家電修理技能合作協(xié)議
- 2025年品牌推廣策略合約
- 2025年代理商區(qū)塊鏈技術協(xié)議
- 2025年農村房產過戶協(xié)議
- 2025年環(huán)境資源贈與合同
- 工地電工2025年度勞動合同規(guī)范范本14篇
- 2024裝修合同中的采購合同范本
- 2025版塑料回收利用項目投資合作合同范本3篇
- GB/T 44888-2024政務服務大廳智能化建設指南
- 2023-2024學年江西省萍鄉(xiāng)市八年級(上)期末物理試卷
- 四則混合運算100道題四年級上冊及答案
- 四川省高職單招電氣技術類《電子基礎》歷年考試真題試題庫(含答案)
- 中級半導體分立器件和集成電路裝調工技能鑒定考試題庫(含答案)
- 2024年江西生物科技職業(yè)學院單招職業(yè)技能測試題庫帶解析答案
- 橋本甲狀腺炎-90天治療方案
- (2024年)安全注射培訓課件
- 2024版《建設工程開工、停工、復工安全管理臺賬表格(流程圖、申請表、報審表、考核表、通知單等)》模版
- 部編版《道德與法治》六年級下冊教材分析萬永霞
- 酒店人防管理制度
評論
0/150
提交評論