Selenium簡介
首先,讓我們看看官網是怎么定義的
Selenium是一個支持web瀏覽器自動化的一系列工具和庫的綜合項目,提供了擴展來模擬用戶和瀏覽器的交互,用于擴展瀏覽器分配的分發服務器;用于W3C WebDriver規范的基礎架構
其實,說白了,它的核心就是WebDriver,這是一個編寫指令集的接口,可以在許多瀏覽器中運行
Web Driver
WebDriver使用的協議是W3C WebDriver(主流標準),舊版可能兼容 JSON Wire Protocol(已逐步淘汰);它的工作原理如下
- 自動化測試代碼發送請求給瀏覽器的驅動
- 瀏覽器驅動解析代碼,解析后發送給瀏覽器
- 執行瀏覽器驅動發來的指令
它和瀏覽器建立通信的過程如下
- 每一條腳本,都會創建一個Http請求,并且發送給瀏覽器驅動
- 驅動中包含了Http Server,用來接受Http請求
- Http Server接到請求后,根據請求來具體操控對應的瀏覽器
- 瀏覽器執行具體的測試步驟
- 執行結構又返回給HTTP Server
- HTTP Server又把結果返回給腳本
Selenium的安裝【Python版本】
接下來讓我們看看Python和Selenium是怎么結合使用的;
【目前最新版本已經不需要手動安裝驅動了,但是4.6之前的版本需要手動安裝驅動】
所以最新版本,我們只需要前面兩個步驟即可;
但是如果無網絡的時候,還是得手動安裝驅動的
-
安裝Python(不過多介紹,之前文章里有說到)
-
安裝Selenium
pip install selenium
-
檢查瀏覽器版本,這個就是檢查瀏覽器的版本,不多說了吧
-
下載對應版本驅動,這里放一個Chrome的驅動下載頁面把
114以及更早版本Chrome Driver驅動下載
-
不同瀏覽器驅動文件,統一放在一個目錄下;方便使用
-
添加驅動目錄到系統變量PATH里面去
第一個腳本
這里訪問的網站是一個測試大佬的,有興趣的可以拿來練手
輸入以下內容,然后運行即可;第一次可能時間會比較慢
from selenium import webdriverbroswer = webdriver.Chrome()
# 訪問網站
browser.get(f'http://www.自動化測試.com/demo')
# 獲取瀏覽器的標題并打印
title = browser.title
print(title)
使用driver路徑的話,需要下面代碼,才可以正常跑通
from selenium import webdriver
from selenium.webdriver.chrome.service import Serviceserve_path = r'D:\Code_Study\driver\chromedriver-win64\chromedriver.exe'
service = Service(serve_path)
browser = webdriver.Chrome(service=service)
# 訪問網站
browser.get(f'http://www.自動化測試.com/demo')
# 獲取瀏覽器的標題并打印
title = browser.title
print(title)
browser.quit()
你看,我們很方便的就可以使用代碼來操控瀏覽器的;下一篇文章主要介紹以下Driver的一些常用屬性