首頁(yè)技術(shù)文章正文

Selenium和PhantomJS有什么作用?

更新時(shí)間:2020-12-11 來源:黑馬程序員 瀏覽量:

1577370495235_學(xué)IT就到黑馬程序員.gif

Selenium是一個(gè)Web的自動(dòng)化測(cè)試工具,可以根據(jù)我們的指令,讓瀏覽器自動(dòng)加載頁(yè)面,獲取需要的數(shù)據(jù),甚至頁(yè)面截屏,或者判斷網(wǎng)站上某些動(dòng)作是否發(fā)生。

Selenium自己不帶瀏覽器,不支持瀏覽器的功能,它需要與第三方瀏覽器結(jié)合在一起才能使用。但是我們有時(shí)候需要讓它內(nèi)嵌在代碼中運(yùn)行,所以我們可以用一個(gè)叫PhantomJS的工具代替真實(shí)的瀏覽器。

Selenium庫(kù)里有個(gè)叫WebDriver的API。WebDriver有點(diǎn)兒像可以加載網(wǎng)站的瀏覽器,但是它也可以像BeautifulSoup或者其他Selector對(duì)象一樣用來查找頁(yè)面元素,與頁(yè)面上的元素進(jìn)行交互(發(fā)送文本、點(diǎn)擊等),以及執(zhí)行其他動(dòng)作來運(yùn)行網(wǎng)絡(luò)爬蟲。

PhantomJS是一個(gè)基于Webkit的“無界面”(headless)瀏覽器,它會(huì)把網(wǎng)站加載到內(nèi)存并執(zhí)行頁(yè)面上的JavaScript,因?yàn)椴粫?huì)展示圖形界面,所以運(yùn)行起來比完整的瀏覽器要高效。相比傳統(tǒng)的Chrome或Firefox瀏覽器等,資源消耗會(huì)更少。

如果我們把Selenium和PhantomJS結(jié)合在一起,就可以運(yùn)行一個(gè)非常強(qiáng)大的網(wǎng)絡(luò)爬蟲了,這個(gè)爬蟲可以處理JavaScript、Cookie、headers,以及任何我們真實(shí)用戶需要做的事情。

主程序退出后,selenium不保證phantomJS也成功退出,最好手動(dòng)關(guān)閉phantomJS進(jìn)程。(有可能會(huì)導(dǎo)致多個(gè)phantomJS進(jìn)程運(yùn)行,占用內(nèi)存)。


猜你喜歡:
redis緩存原理與實(shí)現(xiàn):為什么redis可以做緩存?

數(shù)據(jù)分析的流程是什么?如何做數(shù)據(jù)分析?

Python常用的數(shù)據(jù)分析庫(kù)有哪些?Python數(shù)據(jù)分析模塊介紹

python+數(shù)據(jù)分析培訓(xùn)課程

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!