教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

Selenium和PhantomJS如何結(jié)合使用?

更新時(shí)間:2020年12月11日16時(shí)45分 來(lái)源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

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ì)象一樣用來(lái)查找頁(yè)面元素,與頁(yè)面上的元素進(jìn)行交互(發(fā)送文本、點(diǎn)擊等),以及執(zhí)行其他動(dòng)作來(lái)運(yùn)行網(wǎng)絡(luò)爬蟲。

PhantomJS是一個(gè)基于Webkit的“無(wú)界面”(headless)瀏覽器,它會(huì)把網(wǎng)站加載到內(nèi)存并執(zhí)行頁(yè)面上的JavaScript,因?yàn)椴粫?huì)展示圖形界面,所以運(yùn)行起來(lái)比完整的瀏覽器要高效。相比傳統(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)存)。


猜你喜歡:

Python正則表達(dá)式re模塊常用函數(shù)有哪些?

NumPy數(shù)組對(duì)象介紹:ndarray對(duì)象的常用屬性

JSON和XML的區(qū)別:json和xml的優(yōu)缺點(diǎn)對(duì)比

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

0 分享到:
和我們?cè)诰€交談!