目錄
1. 認(rèn)識Selenium
2. Selenium 三大組件
3. Selenium自動化測試環(huán)境搭建
3.1 安裝selenium 庫
3.2 安裝瀏覽器驅(qū)動
1. 查看瀏覽器版本號
2. 下載瀏覽器驅(qū)動
3. 把driver移動到Path目錄
4. 驗證driver就緒 ?
3.3 啟動瀏覽器
4. Selenium自動化測試環(huán)境的自動化配置
1. 安裝依賴
2. 啟動瀏覽器
5. Selenium工作原理
5.1 指令執(zhí)行路徑
5.2 指令內(nèi)容
5.3 兩大對象
今日內(nèi)容:環(huán)境搭建與原理講解(Selenium的三大組件、兩大對象、webdriver類型和下載、webdriver協(xié)議原理)
1. 認(rèn)識Selenium
2. Selenium 三大組件
3. Selenium自動化測試環(huán)境搭建

- 編程語言
- selenium 庫
- 瀏覽器驅(qū)動 driver
- 瀏覽器
3.1 安裝selenium 庫
pip install selenium
3.2 安裝瀏覽器驅(qū)動
1. 查看瀏覽器版本號
2. 下載瀏覽器驅(qū)動

3. 把driver移動到Path目錄
set Path


? ?Linux 、Mac 查看Path目錄
echo $PATH
4. 驗證driver就緒 ?

3.3 啟動瀏覽器

4. Selenium自動化測試環(huán)境的自動化配置
- 繁瑣
- 需要更新,反復(fù)操作
1. 安裝依賴
搭建環(huán)境,需要Python3.9以上文章來源:http://www.zghlxwxcb.cn/news/detail-458661.html
?pip install webdriver-helper
2. 啟動瀏覽器
from webdriver_helper import *driver = get_webdriver () # 默認(rèn)是谷歌driver = get_webdriver ( "firefox" ) # 可以指定火狐driver . get ( "https://baidu.com" )
#get_webdriver()后,不使用with也會自動關(guān)閉瀏覽器
with get_webdriver() as driver:
driver.get("https://www.baidu.com")
5. Selenium工作原理
5.1 指令執(zhí)行路徑
from selenium.webdriver.common.by import By
from webdriver_helper import *
driver = get_webdriver() # 啟動瀏覽器
driver.get("https://baidu.com") # 訪問指定的頁面
ele = driver.find_element(By.XPATH, '//*[@id="kw"]')
ele.send_keys("百度一下?")
driver.quit()
Python 代碼 -- 調(diào)用 ---> selenium --- 發(fā)送 HTTP 請求 ---> 瀏覽器驅(qū)動 ---- (特殊方法) --> 瀏覽器
5.2 指令內(nèi)容
- webdriver 協(xié)議 約定內(nèi)容
- js代碼
-
今天,還有很多指令通過js實現(xiàn)
- getAttribute.js 獲取元素屬性
- isDisplayed.js 判斷元素是否可見
- findElement.js 相對定位 se4新特性
5.3 兩大對象
- WebDriver 對象: 整個頁面,瀏覽器本身
- WebElemen?對象: 頁面中某個元素

?其中: WebElement對象要通過元素定位來獲取 文章來源地址http://www.zghlxwxcb.cn/news/detail-458661.html
- ?https://www.selenium.dev/selenium/docs/api/py/webdriver_remote/selenium.webdriver.remote.webelement.html#module-selenium.webdriver.remote.webelement
- ?https://www.selenium.dev/selenium/docs/api/py/webdriver_remote/selenium.webdriver.remote.webdriver.html#module-selenium.webdriver.remote.webdriver
總結(jié)
-
selenium 有三大組件,其中最核心的是WebDriver
- WebDriver 通過面向?qū)ο蟮姆绞?,為技術(shù)人員提供結(jié)構(gòu)
- WebDriver 通過Restful API 的方式 調(diào)用 瀏覽器驅(qū)動,完成瀏覽器控制
- 整個過程,已經(jīng)成為w3c標(biāo)準(zhǔn),這個標(biāo)準(zhǔn)稱為WebDriver 協(xié)議
-
selenium 兩大對象:
- 對瀏覽器的操作: WebDriver對象
- 對元素的操作: WebElement對象
-
Selenium4 已經(jīng)發(fā)布,具體新的語法和特性
- 本次課程使用 selenium 4.1.0
- 沒有明確說明的部分,也可能是selenium4的特性,從而在selenium3中報錯
-
selenium 4 的主要特性
- webdriver 的啟動參數(shù)
- 元素定位api
- 相對定位
- 雙向API (bidi_api) 草稿階段
- selenium 測試環(huán)境,可以手動搭建,也可以自動化搭建
pip install webdriver-helper
from selenium import webdriver
driver = webdriver.Chrome()
到了這里,關(guān)于Python+Selenium4環(huán)境搭建與原理講解_web自動化(1)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!