您好,登錄后才能下訂單哦!
小編給大家分享一下Python中selenium有什么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
Python爬蟲(chóng)、數(shù)據(jù)分析、網(wǎng)站開(kāi)發(fā)等案例教程視頻免費(fèi)在線觀看
https://space.bilibili.com/523606542
Selenium是一個(gè)Web的自動(dòng)化測(cè)試工具,最初是為網(wǎng)站自動(dòng)化測(cè)試而開(kāi)發(fā)的,就像玩游戲用的按鍵精靈,可以按指定的命令自動(dòng)操作。
Selenium測(cè)試工具直接操控瀏覽器中,就像真正的用戶(hù)在操作一樣。Selenium可以根據(jù)的指令,讓瀏覽器自動(dòng)加載頁(yè)面,獲取需要的數(shù)據(jù),甚至頁(yè)面截屏,或者判斷網(wǎng)站上某些動(dòng)作是否發(fā)生等。
?。?)、selenium可以驅(qū)動(dòng)瀏覽器自動(dòng)執(zhí)行自定義好的邏輯代碼,也就是可以通過(guò)代碼完全模擬成人類(lèi)使用瀏覽器自動(dòng)訪問(wèn)目標(biāo)站點(diǎn)并操作,那我們也可以拿它來(lái)做爬蟲(chóng)。
?。?)、selenium本質(zhì)上是通過(guò)驅(qū)動(dòng)瀏覽器,完全模擬瀏覽器的操作,比如跳轉(zhuǎn)、輸入、點(diǎn)擊、下拉等...進(jìn)而拿到網(wǎng)頁(yè)渲染之后的結(jié)果,可支持多種瀏覽器
?。?)優(yōu)點(diǎn)
優(yōu)點(diǎn)就是可以幫我們避開(kāi)一系列復(fù)雜的通信流程,例如在我們之前學(xué)習(xí)的requests模塊,那么requests模塊在模擬請(qǐng)求的時(shí)候是不是需要把素有的通信流程都分析完成后才能通過(guò)請(qǐng)求,然后返回響應(yīng)。假如目標(biāo)站點(diǎn)有一系列復(fù)雜的通信流程,例如的登錄時(shí)的滑動(dòng)驗(yàn)證等...那么你使用requests模塊的時(shí)候是不是就特別麻煩了。不過(guò)你也不需要擔(dān)心,因?yàn)榫W(wǎng)站的反爬策略越高,那么用戶(hù)的體驗(yàn)效果就越差,所以網(wǎng)站都需要在用戶(hù)的淫威之下降低安全策略。
再看一點(diǎn)requests請(qǐng)求庫(kù)能不能執(zhí)行js?是不是不能呀!那么如果你的網(wǎng)站需要發(fā)送ajax請(qǐng)求,異步獲取數(shù)據(jù)渲染到頁(yè)面上,是不是就需要使用js發(fā)送請(qǐng)求了。那瀏覽器的特點(diǎn)是什么?是不是可以直接訪問(wèn)目標(biāo)站點(diǎn),然后獲取對(duì)方的數(shù)據(jù),從而渲染到頁(yè)面上。那這些就是使用selenium的好處!
?。?)缺點(diǎn)
使用selenium本質(zhì)上是驅(qū)動(dòng)瀏覽器對(duì)目標(biāo)站點(diǎn)發(fā)送請(qǐng)求,那瀏覽器在訪問(wèn)目標(biāo)站點(diǎn)的時(shí)候,是不是都需要把靜態(tài)資源都加載完畢。html、css、js這些文件是不是都要等待它加載完成。是不是速度特別慢。那用它的壞處就是效率極低!所以我們一般用它來(lái)做登錄驗(yàn)證。
如圖所示,通過(guò)Python來(lái)控制Selenium,然后讓Selenium 控制瀏覽器,操縱瀏覽器,這樣就實(shí)現(xiàn)了使用Python間接的操控瀏覽器。
Selenium支持多種瀏覽器,最常見(jiàn)的就是火狐和谷歌瀏覽器。首先在電腦上下載瀏覽器,瀏覽器版本不宜過(guò)新。
火狐:截圖如下
谷歌:截圖如下
Selenium具體怎么就能操縱瀏覽器呢?這要?dú)w功于瀏覽器驅(qū)動(dòng),Selenium可以通過(guò)API接口實(shí)現(xiàn)和瀏覽器驅(qū)動(dòng)的交互,進(jìn)而實(shí)現(xiàn)和瀏覽器的交互。所以要配置瀏覽器驅(qū)動(dòng)。
火狐驅(qū)動(dòng)下載地址:
http://npm.taobao.org/mirrors/geckodriver/
谷歌驅(qū)動(dòng)下載地址:
https://npm.taobao.org/mirrors/chromedriver/
配置瀏覽器驅(qū)動(dòng):
將下載好的瀏覽器驅(qū)動(dòng)解壓,將解壓出的exe文件放到Python的安裝目錄下,也就是和python.exe同目錄即可。
安裝selenium模塊,python借助這個(gè)模塊驅(qū)動(dòng)瀏覽器,使用如下命令行安裝這個(gè)模塊即可
pip install selenium
# 打開(kāi)百度首頁(yè) from selenium import webdriver driver = webdriver.chrome() url = 'https : / /www.baidu . com/ ' driver.get(url) #打開(kāi)get就類(lèi)似與在瀏覽器地址欄里面放入網(wǎng)址 driver.get(url) #退出瀏覽器 driver.quit()
以上是“Python中selenium有什么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。