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

全國咨詢/投訴熱線:400-618-4000

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

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

好口碑IT培訓(xùn)

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

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

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

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

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

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


猜你喜歡:

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

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

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

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

0 分享到:
和我們在線交談!