Selenium是一個(gè)用于測(cè)試Web應(yīng)用程序的自動(dòng)化測(cè)試工具,它直接運(yùn)行在瀏覽器中,實(shí)現(xiàn)了對(duì)瀏覽器的自動(dòng)化操作,它支持所有主流的瀏覽器,包括IE,F(xiàn)irefox,Safari,Chrome等。 Selenium支持所有主流平臺(tái)(如,Windows、Linux、IOS、Android、Edge、Opera等),同時(shí),它也實(shí)現(xiàn)了諸多自動(dòng)化功能,比如軟件自動(dòng)化測(cè)試,檢測(cè)軟件與瀏覽器兼容性,自動(dòng)錄制、生成不同語(yǔ)言的測(cè)試腳本,以及自動(dòng)化爬蟲等。本節(jié)及后續(xù)兩節(jié)主要圍繞自動(dòng)化爬蟲展開講解。 Selenium提供了一個(gè)工具集,包括SeleniumWebDriver(瀏覽器驅(qū)動(dòng))、SeleniumIDE(錄制測(cè)試腳本)、SeleniumGrid(執(zhí)行測(cè)試腳本)。后面兩個(gè)主要用于測(cè)試腳本的錄制、執(zhí)行,因此不做介紹。我們只對(duì)SeleniumWebDriver做重點(diǎn)講解。 關(guān)于SeleniumIDE/Grid的相關(guān)知識(shí)可參考官網(wǎng)文檔https://www.v/。 Selenium下載安裝Selenium安裝非常簡(jiǎn)單,Linux、Mac用戶執(zhí)行以下命令即可: sudo pip install Selenium1復(fù)制代碼類型:[python] Windows用戶執(zhí)行以下命令即可實(shí)現(xiàn)安裝: python -m pip install selenium1復(fù)制代碼類型:[python] 除了使用上述命令安裝外,您也可以通過(guò)官方網(wǎng)站下載SeleniumWebDriver安裝包。 安裝瀏覽器驅(qū)動(dòng)若想使Selenium能夠調(diào)用瀏覽器,那么必須通過(guò)webdriver驅(qū)動(dòng)來(lái)實(shí)現(xiàn)。不同的瀏覽器需要使用不同驅(qū)動(dòng)程序,下面列出了不同瀏覽器驅(qū)動(dòng)程序的下載地址: 谷歌瀏覽器chromedrive:http://chromedriver.storage./index.html 火狐瀏覽器geckodriver:https://github.com/mozilla/geckodriver/releases IE瀏覽器IEDriver:http://selenium-release.storage./index.html 各種瀏覽器的驅(qū)動(dòng)安裝規(guī)程基本一致。不過(guò)需要注意:安裝Chrome、Firefox驅(qū)動(dòng)時(shí),需要下載與瀏覽器版本相匹配的驅(qū)動(dòng)程序,否則不能驅(qū)動(dòng)瀏覽器。而IE較為特殊,您需要下載與Selenium版本相匹配的驅(qū)動(dòng)文件,如下所示: 下面以Windows10平臺(tái)Chrome瀏覽器為例講解。首先檢查瀏覽器版本號(hào),并下載相應(yīng)驅(qū)動(dòng)文件,然后解壓文件,將Chromedriver.exe文件拷貝到Python安裝目錄的Scripts目錄下,最后將其添加到系統(tǒng)環(huán)境變量中。使用如下命令可查看Python安裝路徑: where python1復(fù)制代碼類型:[python] 您需要根據(jù)自己安裝路徑進(jìn)行配置,我的環(huán)境變量配置如下: 上述操作完成后,在CMD命令行啟動(dòng)驅(qū)動(dòng)程序,如下所示: 開啟成功后,驅(qū)動(dòng)程序會(huì)在后臺(tái)運(yùn)行。 自動(dòng)訪問(wèn)百度編寫如下代碼,實(shí)現(xiàn)自動(dòng)化訪問(wèn)百度。 # 導(dǎo)入seleinum webdriver接口from selenium import webdriverimport time# 創(chuàng)建Chrome瀏覽器對(duì)象browser = webdriver.Chrome()#訪問(wèn)百度網(wǎng)站browser.get('http://www.baidu.com/')#阻塞3秒time.sleep(3)# 自動(dòng)退出瀏覽器browser.quit()1234567891011復(fù)制代碼類型:[python] 截取了運(yùn)行中的顯示結(jié)果,如下所示: 經(jīng)過(guò)上述代測(cè)試,說(shuō)明我們安裝的瀏覽器驅(qū)動(dòng)可以正常工作。SeleniumWebDriver實(shí)現(xiàn)了許多操作瀏覽器功能。比如實(shí)現(xiàn)自動(dòng)點(diǎn)擊、自動(dòng)輸入、自動(dòng)搜索、自動(dòng)登錄等等。 毫不夸張的說(shuō),Selenium自動(dòng)化爬蟲是一種萬(wàn)能的爬蟲程序,它可以仿照人的樣子去打開網(wǎng)站,并拿到你想要的數(shù)據(jù),因此你無(wú)須在意反爬措施。不過(guò)它最致命的缺點(diǎn)就是效率很低,因?yàn)槊看吸c(diǎn)擊、輸入等操作都需要花費(fèi)一定的時(shí)間,因此它僅適用于小批量的數(shù)據(jù)抓取。 |
|
來(lái)自: 碼農(nóng)9527 > 《Python》