【python+selenium的web自動化】- Selenium WebDriver原理及安裝

簡單介紹

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()