【python+selenium的web自動化】- Selenium WebDriver原理及安裝
- 2021 年 3 月 7 日
- 筆記
- 【python+selenium】web自動化
簡單介紹
selenium
selenium是一個用於測試web網頁的自動化測試工具,它直接運行在瀏覽器中,模擬用戶的操作。
- 🍋 支援多瀏覽器:ie、Firefox、Chrome、edge、Safari等
- 🍋 跨平台:windows、Linux、mac等
- 🍋 支援多語言:python、java、ruby、c#等
webdriver
webdriver則是selenium里最重要的東西,它是按照client/server模式設計的,通過驅動程式與瀏覽器進行通訊。而selenium程式碼與瀏覽器驅動程式之間是通過http協議進行數據交互的,這種方式,不在乎客戶端是什麼樣的形式,只要數據的格式和協議是服務端能夠解析的就可以,因此它可以跨平台,支援多語言多瀏覽器。
- 🍓 client:程式語言客戶端,比如說python selenium客戶端
- 🍓 server:瀏覽器驅動程式,用來接收客戶端的請求並驅動瀏覽器執行操作然後返回結果。
通訊步驟:
- 🍏 1. webdriver啟動瀏覽器驅動程式,並設置偵聽埠號
- 🍏 2. webdriver客戶端與瀏覽器端建立連接
- 🍏 3. 連接成功之後,所有的操作(比如查找元素、點擊等)都是客戶端通過commandExecuter發送http請求到服務端,服務端根據收到的請求做相應的操作並返回結果
三大瀏覽器及驅動:
每一個瀏覽器匹配一個驅動,驅動版本還要匹配對應的瀏覽器的版本,否則運行可能會報錯不兼容等問題。
- 🍆 Chrome:chromedriver
- 🍆 IE: ieserverdriver
- 🍆 Firefox:geckodriver
環境安裝
🍄 1.安裝selenium
命令行使用以下命令直接安裝:pip install -U selenium
🍄 2.安裝瀏覽器及其驅動
這裡以Chrome為例,驅動下載地址 //npm.taobao.org/mirrors/chromedriver/ ,驅動目錄下有一個notes.txt文件,裡面記錄了該驅動支援的瀏覽器版本,根據提示安裝對應的瀏覽器版本。瀏覽器驅動是.exe文件,下載後直接放在python的根目錄下即可。
啟動瀏覽器
使用webdriver前,需要先導入包from selenium import webdriver
,每次打開瀏覽器時,執行完畢要記得關閉瀏覽器,使用driver.quit()
關閉。
from selenium import webdriver
import time
# 實例化chrome類,啟動了Chromedriver,並與Chromedriver開啟了會話
# ip + 埠 -- 啟動
driver = webdriver.Chrome()
driver.get("//www.baidu.com")
time.sleep(5)
# 關閉瀏覽器
drver.quit()