問題:什么是無頭瀏覽器,它的作用是什么?
回答:
什么是無頭瀏覽器(headless browser),簡(jiǎn)單來說是一種沒有界面的瀏覽器。既然是瀏覽器那么瀏覽器該有的東西它都應(yīng)該有,只是看不到界面而已。我們?nèi)粘J褂脼g覽器的步驟為:?jiǎn)?dòng)瀏覽器、打開一個(gè)網(wǎng)頁、進(jìn)行交互。而無頭瀏覽器指的是我們使用腳本來執(zhí)行以上過程的瀏覽器,能模擬真實(shí)的瀏覽器使用場(chǎng)景。
作用:
有了無頭瀏覽器,我們就能做包括但不限于以下事情:
對(duì)網(wǎng)頁進(jìn)行截圖保存為圖片或 pdf
抓取單頁應(yīng)用(SPA)執(zhí)行并渲染(解決傳統(tǒng) HTTP 爬蟲抓取單頁應(yīng)用難以處理異步請(qǐng)求的問題)
做表單的自動(dòng)提交、UI的自動(dòng)化測(cè)試、模擬鍵盤輸入等
用瀏覽器自帶的一些調(diào)試工具和性能分析工具幫助我們分析問題
在最新的無頭瀏覽器環(huán)境里做測(cè)試、使用最新瀏覽器特性
寫爬蟲做你想做的事情~
無頭瀏覽器很多,包括但不限于:
PhantomJS, 基于 Webkit
SlimerJS, 基于 Gecko
HtmlUnit, 基于 Rhnio
TrifleJS, 基于 Trident
Splash, 基于 Webkit
本文主要介紹 Google 提供的無頭瀏覽器(headless Chrome), 他基于Chrome DevTools protocol提供了不少高度封裝的接口方便我們控制瀏覽器。
(引用:作者:螞蟻金服數(shù)據(jù)體驗(yàn)技術(shù) -鏈接:https://juejin.im/post/59e5a86c51882578bf185dba)