Selenium 安裝和簡(jiǎn)單使用的實(shí)現(xiàn)
一、簡(jiǎn)介
Selenium是一個(gè)用于Web應(yīng)用程序測(cè)試的工具。
Selenium測(cè)試直接運(yùn)行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括IE,F(xiàn)irefox,Safari,Chrome,Opera等。
在爬蟲上用來(lái)模擬正常用戶訪問(wèn)網(wǎng)頁(yè)并獲取數(shù)據(jù)。
二、安裝(以Chrome為例)
瀏覽器安裝
windows下安裝就不多說(shuō)了,以下為服務(wù)器(Centos7)的安裝步驟
#下載安裝包到同級(jí)目錄下 wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm #安裝 yum install ./google-chrome-stable_current_x86_64.rpm
Selenium安裝
pip install selenium
驅(qū)動(dòng)下載
selenium是通過(guò)ChromeDriver調(diào)用的Chrome瀏覽器(其他主流瀏覽器也有相應(yīng)驅(qū)動(dòng)),所以需要下載ChromeDriver,而且ChromeDriver版本需要與Chrome的版本對(duì)應(yīng),版本錯(cuò)誤的話則會(huì)運(yùn)行報(bào)錯(cuò)。
(1)查看Chrome瀏覽器版本
Windows系統(tǒng)查看方法
:打開Chrome瀏覽器 > 右上角三個(gè)點(diǎn) > 設(shè)置 > 關(guān)于Chrome
Centos7 查看方法
:google-chrome --version
(2)下載相應(yīng)版本的驅(qū)動(dòng)
下載地址:
Chrome瀏覽器驅(qū)動(dòng)(ChromeDriver):http://npm.taobao.org/mirrors/chromedriver/
備用地址
Firefox瀏覽器驅(qū)動(dòng)(GeckoDriver):https://github.com/mozilla/geckodriver/releases
IE瀏覽器驅(qū)動(dòng):http://selenium-release.storage.googleapis.com/index.html
Edge瀏覽器驅(qū)動(dòng):https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
Opera瀏覽器驅(qū)動(dòng):https://github.com/operasoftware/operachromiumdriver/releases
PhantomJS瀏覽器驅(qū)動(dòng):https://phantomjs.org/
找到相應(yīng)的版本:
可以看到我的Chrome版本為78.0.3904.108
,在上述網(wǎng)址中找到對(duì)應(yīng)的版本,對(duì)應(yīng)大版本(例:78)即可。
里邊有四個(gè)文件,前三個(gè)對(duì)應(yīng)相應(yīng)的系統(tǒng)(不用區(qū)分64位還是32位),notes.txt
文件里說(shuō)明了更新內(nèi)容和支持版本
(3)ChromeDriver安裝
Mac/Linux:下載完成解壓后,將文件移動(dòng)至/usr/local/bin
目錄中,則可以正常使用
Windows:下載完成解壓后,將文件移動(dòng)到一個(gè)配置了環(huán)境變量的文件夾中,例如你的Python安裝文件夾。
三、 簡(jiǎn)單使用
這是一個(gè)打開百度首頁(yè),在輸入框中輸入‘平頭哥兒'的例子。
import time from selenium import webdriver # 打開一個(gè)Chrome瀏覽器 driver = webdriver.Chrome() #Chrome瀏覽器 #driver = webdriver.Chrome(r'ChromeDriver路徑') #還可以指定路徑 #driver = webdriver.Firefox() # Firefox瀏覽器 #driver = webdriver.Ie() # IE瀏覽器 #driver = webdriver.Edge() # Edge瀏覽器 #driver = webdriver.Opera() # Opera瀏覽器 #driver = webdriver.PhantomJS() # PhantomJS瀏覽器 # 請(qǐng)求百度首頁(yè) driver.get('https://www.baidu.com') time.sleep(5) #方便演示,等待五秒 #找到輸入框位置,并輸入'平頭哥兒',百度特性(輸入完內(nèi)容會(huì)自動(dòng)查) driver.find_element_by_xpath('//*[@id="kw"]').send_keys('平頭哥兒') time.sleep(5) #方便演示,等待五秒 driver.quit() #關(guān)閉全部窗口
Selenium文集傳送門:
標(biāo)題 | 簡(jiǎn)介 |
---|---|
Python爬蟲 - Selenium(1)安裝和簡(jiǎn)單使用 | 詳細(xì)介紹Selenium的依賴環(huán)境在Windows和Centos7上的安裝及簡(jiǎn)單使用 |
Python爬蟲 - Selenium(2)元素定位和WebDriver常用方法 | 詳細(xì)介紹定位元素的8種方式并配合點(diǎn)擊和輸入、提交、獲取斷言信息等方法的使用 |
Python爬蟲 - Selenium(3)控制瀏覽器的常用方法 | 詳細(xì)介紹自定義瀏覽器窗口大小或全屏、控制瀏覽器后退、前進(jìn)、刷新瀏覽器等方法的使用 |
Python爬蟲 - Selenium(4)配置啟動(dòng)項(xiàng)參數(shù) | 詳細(xì)介紹Selenium啟動(dòng)項(xiàng)參數(shù)的配置,其中包括無(wú)界面模式、瀏覽器窗口大小設(shè)置、瀏覽器User-Agent (請(qǐng)求頭)等等 |
Python爬蟲 - Selenium(5)鼠標(biāo)事件 | 詳細(xì)介紹鼠標(biāo)右擊、雙擊、拖動(dòng)、鼠標(biāo)懸停等方法的使用 |
Python爬蟲 - Selenium(6)鍵盤事件 | 詳細(xì)介紹鍵盤的操作,幾乎包含所有常用按鍵以及組合鍵 |
Python爬蟲 - Selenium(7)多窗口切換 | 詳細(xì)介紹Selenium是如何實(shí)現(xiàn)在不同的窗口之間自由切換 |
Python爬蟲 - Selenium(8)frame/iframe表單嵌套頁(yè)面 | 詳細(xì)介紹如何從當(dāng)前定位的主體切換為frame/iframe表單的內(nèi)嵌頁(yè)面中 |
Python爬蟲 - Selenium(9)警告框(彈窗)處理 | 詳細(xì)介紹如何定位并處理多類警告彈窗 |
Python爬蟲 - Selenium(10)下拉框處理 | 詳細(xì)介紹如何靈活的定位并處理下拉框 |
Python爬蟲 - Selenium(11)文件上傳 | 詳細(xì)介紹如何優(yōu)雅的通過(guò)send_keys()指定文件進(jìn)行上傳 |
Python爬蟲 - Selenium(12)獲取登錄Cookies,并添加Cookies自動(dòng)登錄 | 詳細(xì)介紹如何獲取Cookies和使用Cookies進(jìn)行自動(dòng)登錄 |
Python爬蟲 - Selenium(13)設(shè)置元素等待 | 詳細(xì)介紹如何優(yōu)雅的設(shè)置元素等待時(shí)間,防止程序運(yùn)行過(guò)快而導(dǎo)致元素定位失敗 |
Python爬蟲 - Selenium(14)窗口截圖 | 詳細(xì)介紹如何使用窗口截圖 |
Python爬蟲 - Selenium(15)關(guān)閉瀏覽器 | 詳細(xì)介紹兩種關(guān)閉窗口的區(qū)別 |
到此這篇關(guān)于Selenium 安裝和簡(jiǎn)單使用的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Selenium 安裝使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Tensorflow訓(xùn)練模型默認(rèn)占滿所有GPU的解決方案
這篇文章主要介紹了Tensorflow訓(xùn)練模型默認(rèn)占滿所有GPU的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05python中實(shí)現(xiàn)k-means聚類算法詳解
這篇文章主要介紹了python中實(shí)現(xiàn)k-means聚類算法詳解,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11django框架實(shí)現(xiàn)模板中獲取request 的各種信息示例
這篇文章主要介紹了django框架實(shí)現(xiàn)模板中獲取request 的各種信息,結(jié)合實(shí)例形式分析了Django框架模板直接獲取request信息的相關(guān)配置與操作技巧,需要的朋友可以參考下2019-07-07python3.7 openpyxl 刪除指定一列或者一行的代碼
這篇文章主要介紹了python3.7 openpyxl 刪除指定一列或者一行,文中通過(guò)代碼給大家介紹了python3 openpyxl基本操作,代碼簡(jiǎn)單易懂,需要的朋友可以參考下2019-10-10conda?install?nb_conda失敗原因分析及解決
這篇文章主要給大家介紹了關(guān)于conda?install?nb_conda失敗原因分析及解決方法,conda install nb_conda顯示錯(cuò)誤的原因可能有很多,具體原因取決于你的系統(tǒng)環(huán)境和安裝的conda版本,需要的朋友可以參考下2023-11-11手把手教你將Flask應(yīng)用封裝成Docker服務(wù)的實(shí)現(xiàn)
這篇文章主要介紹了手把手教你將Flask應(yīng)用封裝成Docker服務(wù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08解決django跨域的問(wèn)題小結(jié)(Hbuilder X)
使用Django開發(fā)時(shí),可能會(huì)遇到跨域問(wèn)題,尤其是當(dāng)后端與HbuilderX開發(fā)的前端結(jié)合使用時(shí),解決此問(wèn)題的關(guān)鍵步驟包括安裝django-cors-headers庫(kù),并在Django的settings.py中進(jìn)行相應(yīng)配置,本文給大家介紹解決django跨域的問(wèn)題小結(jié),感興趣的朋友一起看看吧2024-10-10Python 數(shù)據(jù)分析之逐塊讀取文本的實(shí)現(xiàn)
這篇文章主要介紹了Python 數(shù)據(jù)分析之逐塊讀取文本的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12Python采用socket模擬TCP通訊的實(shí)現(xiàn)方法
這篇文章主要介紹了Python采用socket模擬TCP通訊的實(shí)現(xiàn)方法,程序分為TCP的server端與client端兩部分,分別對(duì)這兩部分進(jìn)行了較為深入的分析,需要的朋友可以參考下2014-11-11