定義
Selenium是一個用于Web應用程序測試的自動化測試工具。使用Selenium可以驅動瀏覽器執行特定的動作,如點擊、下拉等操作,還可以獲取頁面信息,斷言頁面是否如預期。在工作中我們可以用它來做基于web瀏覽器的UI自動化測試,也可以用它來做一些固定的頁面操作,減少我們重復的手動操作。
準備工作
pip install selenium
selenium庫安裝完后還需要安裝對應得了瀏覽器驅動,Selenium支持多種瀏覽器,如Chrome、Firefox等。本篇文章中就以Chrome舉例說明。
python使用selenium自動化操作瀏覽器需要chromedriver
驅動,但是瀏覽器每隔一段時間就自動更新版本,或者換一臺電腦運行是就會報錯。出現驅動版本和瀏覽器版本不對應的錯誤信息,所以這里我們直接在代碼中自動下載與當前瀏覽器版本匹配的驅動。代碼如下:
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
import chromedriver_autoinstaller
import os
def func():
# 獲取當前文件所在目錄的絕對路徑
current_dir = os.path.dirname(os.path.abspath(__file__))
# 設置存放chromedtriver驅動的目錄
driver_path = os.path.join(current_dir, "driver")
os.makedirs(driver_path, exist_ok=True)
# 自動安裝符合當前瀏覽器的驅動目錄
chromedriver_autoinstaller.install(path=driver_path)
chromedriver_path = os.path.join(driver_path, chromedriver_autoinstaller.get_chrome_version())
# 創建一個對象傳入chromedriver路徑
service = Service(chromedriver_path)
# 啟動瀏覽器時使用傳入的驅動路徑
driver = webdriver.Chrome(service=service)
func()
再上面的代碼中我們直接使用腳本程序去下載我們瀏覽器對應匹配的chromedriver版本,就直接避免了瀏覽器升級后導致之前下載的驅動版本不對應的問題,避免重復下載這一步驟。
不過上面的代碼可以優化,在下載前去做一個判斷,因為每次運行前都會去重復下載一次,所以需要再運行前去找driver_path下面有沒有文件,如果有的話就不用下載,直接使用已有的路徑,如果沒有再去下載就行了,這個就自行優化哈~~~
-
自動化測試
+關注
關注
0文章
208瀏覽量
26905 -
代碼
+關注
關注
30文章
4779瀏覽量
68521 -
python
+關注
關注
56文章
4792瀏覽量
84627
發布評論請先 登錄
相關推薦
評論