Selenium環境搭建步驟:
- 安裝瀏覽器。
- 下載瀏覽器對應的Selenium驅動。
- 把下載好的Selenium驅動,與Python進行整合。
- 安裝Selenium自動化測試框架。
- 在Python程式碼中匯入Selenium相關API,進行操作。
1、瀏覽器安裝
下載並安裝好需要的瀏覽器,如下:
Chrome
瀏覽器、Firefox
瀏覽器、Safari
瀏覽器、Edge
瀏覽器、Opera
瀏覽器等。
根據自己的需求安裝對應的瀏覽器,非常簡單,不做過多說明。
2、瀏覽器驅動下載
(1)ChromeDriver for Chrome
如果使用Chrome
瀏覽器進行自動化測試,就需要下載ChromeDriver
驅動。
ChromeDriver
驅動下載地址:http://chromedriver.storage.googleapis.com/index.html。- 國內映象地址:https://npm.taobao.org/mirrors/chromedriver。
- 版本對應地址:http://chromedriver.storage.googleapis.com/2.43/notes.txt。
選擇指定的ChromeDriver
版本,可根據不同的平臺(Win、Mac、Linux)下載指定的ChromeDriver
。
如下圖所示:
(2)Geckodriver for Firefox
如果使用Firefox進行自動化測試,在Selenium 1.0
或者Selenium 2.0
是可以直接驅動Firefox進行測試的,但如果使用的是Selenium 3.0
,則需要下載geckodriver
驅動。
Geckodriver
驅動下載地址:https://github.com/mozilla/geckodriver/releases。- 國內映象地址:https://npm.taobao.org/mirrors/geckodriver/。
根據不同的平臺(Win、Mac、Linux等)下載指定的geckodriver驅動。
如下圖所示:
提示:
Firefox 47
及以前版本,不需要geckodriver
驅動。geckodriver v0.19.0
:Firefox 55
(及更高版本),Selenium3.5
(及更高)geckodriver v0.21.0
:Firefox 57
(及更高版本),Selenium3.11
(及更高)- 我應用的版本
v0.24.0
和v0.26.0
,Firefox 76
,Selenium3.14
。
(3)IEDriverServer for IE
如果使用IE進行自動化測試,就需要下載IEDriverServer
驅動。
IEDriverServer下載地址:http://selenium-release.storage.googleapis.com/index.html。
根據Win平臺是32位還是64位,下載指定的IEDriverServer驅動。
如下圖所示:
IEDriverServer
的版本號和Selenium
的版本號一定要一致。
如果執行指令碼的時候會有如下報錯:
Unexpected error launching Internet Explorer. Protected Mode settings are not the same for all zones.
說明瀏覽器的安全性設定較高,解決方法:
修改IE的設定,開啟IE --->選項--->安全,不選中啟用保護模式。
如下圖所示:
(4)for Edge
在Windows 10中Edge瀏覽器的驅動由Microsoft提供,也需要單獨下載。
下載地址:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/。
需要根據Edge瀏覽器版本下載對應的版本驅動。
1)如何檢視windows 10中Edge瀏覽器的版本
方式一:開啟Edge瀏覽器,進入設定
設定的介面的最下方,就可以檢視到Edge瀏覽器的版本。
方式二:開始 —> 設定 —> 系統 —> 關於
就可以檢視到Edge瀏覽器的版本,如下圖所示:
2)Edge瀏覽器18版本的Selenium驅動安裝
Edge瀏覽器18版本以前的Selenium驅動,在上面網址中,下載對應的驅動版本就可以了。
Edge瀏覽器18版本,需要在Windows 10系統的命令提示符中(管理員方式開啟),執行如下命令即可。
DISM.exe /Online /Add-Capability /CapabilityName:Microsoft.WebDriver~~~~0.0.1.0
如下圖:
安裝完成之後,我們就可以適用Selenium測試Edge瀏覽器了,不需要在下載單獨的Edge瀏覽器驅動了。
(5)OperaDriver for Opera
如果使用Opera
瀏覽器進行自動化測試,就需要下載operadriver
驅動。
operadriver
驅動下載地址:https://github.com/operasoftware/operachromiumdriver/releases。- 國內映象地址:https://npm.taobao.org/mirrors/operadriver/。
下載驅動的時候,一定要看好驅動支援的瀏覽器版本。
如下圖所示:
3、瀏覽器驅動與Python整合
將下載好的瀏覽器驅動解壓後,如:chromedriver.exe
放置在Python安裝路徑的根目錄下即可。
這樣一步操作,就完成了瀏覽器驅動與Python的整合。
如下圖所示:
4、安裝Selenium
在Windows環境下,安裝方式有兩種(任選一種即可)
(1)線上安裝
- 命令列輸入
pip install -U selenium
- 若Selenium安裝超時失敗,可以試試國內源:
- 使用阿里雲映象:
pip install -i http://mirrors.aliyun.com/pypi/simple/ selenium
- 使用清華大學映象:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ selenium
- 使用中國科技大學映象:
pip install -i https://pypi.mirrors.ustc.edu.cn/simple/ selenium
- 使用豆瓣映象:
pip install -i http://pypi.douban.com/simple/ selenium
- 使用阿里雲映象:
- 安裝Selenium指定版本(例如3.9.0)
命令列輸入pip install -U selenium==3.9.0
(2)離線安裝
開啟網址:https://pypi.org/project/selenium/
點選Download files
,下載字尾名為tar.gz
包檔案。
下載完成後,進行解壓,例如:selenium-3.14.0.tar.gz
。
解壓後的檔案目錄,如下圖所示:
開啟命令列,跳轉到解壓後的目錄路徑,輸入安裝命令python setup.py install
即可。
安裝完成後,開啟命令列,輸入pip list
,查詢已安裝的模組,如下圖:
如圖所示Selenium就安裝成功。
同時在PyCharm中匯入Selenium模組,沒有報錯,就可以正常在PyCharm中使用Selenium了。
# 1.匯入selenium包
from selenium import webdriver
5、使用Selenium啟動谷歌瀏覽器
在Python的IDE中,編寫如下程式碼,如:PyCharm。
"""
1.學習目標
掌握使用selenium啟動谷歌瀏覽器
2.操作步驟
2.1 匯入selenium包
2.2 選擇並開啟瀏覽器(谷歌)
2.3 輸入百度網址
2.4 對網址操作
2.5 關閉瀏覽器
3.需求
使用selenium實現在谷歌瀏覽器中開啟百度網站
4.注意事項
4.1 指令碼的名稱一定不能為selenium
4.2 輸入網址的時候要加上協議,如:http://
"""
# 學習selenium主要學習的是對webdriver的使用
# 1.匯入selenium包
from selenium import webdriver
from time import sleep
# 2.選擇並開啟瀏覽器(谷歌)
driver = webdriver.Chrome()
# 3. 輸入百度網址
driver.get("http://www.baidu.com")
sleep(3)
# 4.對網址的操作
# 5.關閉瀏覽器
driver.quit()
6、擴充說明
(1)遮蔽“Chrome 正受到自動測試軟體的控制“提示資訊
81版不好用,75版可以。
"""
1.學習目標
熟悉selenium遮蔽谷歌瀏覽器的資訊提示欄
2.操作步驟
1.導包
2.新增谷歌瀏覽器載入項
遮蔽資訊提示欄
3.開啟谷歌瀏覽器——將遮蔽資訊提示欄引數傳入到開啟瀏覽器中
4.開啟地址
5.關閉瀏覽器
總結:
options = webdriver.ChromeOptions() # 例項化谷歌瀏覽器載入項
options.add_argument("disable-infobars") # 去掉谷歌瀏覽器資訊提示欄
webdriver.Chrome(chrom_options=options) # 使用瀏覽器載入項
3.需求
使用selenium將谷歌瀏覽器的資訊提示欄遮蔽
"""
# 1.匯入selenium包
from selenium import webdriver
from time import sleep
# 2.新增谷歌瀏覽器載入項
options = webdriver.ChromeOptions()
options.add_argument("disable-infobars")
# 3.開啟谷歌瀏覽器——將遮蔽資訊提示欄引數傳入開啟瀏覽器中
"""
DeprecationWarning: use options instead of chrome_options
棄用警告:使用選項代替chrome_options,改用options選項
"""
driver = webdriver.Chrome(options=options)
# 4.開啟地址
url = "http://www.baidu.com"
driver.get(url)
sleep(3)
# 5.關閉瀏覽器
driver.quit()
(2)Chrome模擬移動端
開啟chrome —> F12 —> 開啟移動端視角,如圖所示,可以模擬iphone6等裝置。
也可以新增或刪除裝置,點選Edit進行設定。
在指令碼里deviceName
屬性,要定義為所要模擬的裝置名。
指令碼程式碼如下:
"""
1.學習目標
熟悉selenium使用谷歌瀏覽器模擬移動端
2.操作步驟
1.導包
2.新增谷歌瀏覽器載入項
設定模擬的手機型號,字典型別的引數
mobileEmulation = {"deviceName": "iPhone X"}
options=webdriver.ChromeOptions()
options.add_experimental_option("mobileEmulation", mobileEmulation)
注:"mobileEmulation"為固定寫法。
3.開啟谷歌瀏覽器——將引數傳入開啟的瀏覽器中
4.開啟地址
5.關閉瀏覽器
3.需求
使用selenium開啟谷歌瀏覽器,模擬iPhoneX手機
"""
# 1.匯入selenium包
from selenium import webdriver
from time import sleep
# 2.新增谷歌瀏覽器載入項
mobileEmulation = {"deviceName": "iPhone X"}
options = webdriver.ChromeOptions()
# 因為傳入的是字典型別的資料,所以使用的add方法也不一樣
options.add_experimental_option("mobileEmulation", mobileEmulation)
# 3.開啟谷歌瀏覽器——將模擬移動端的引數,傳入開啟的瀏覽器中
# options和chrome_options一樣,chrome_options將棄用。
driver = webdriver.Chrome(options=options)
# 4.開啟地址
url = "http://www.baidu.com"
driver.get(url)
sleep(3)
# 5.關閉瀏覽器
driver.quit()