python3 selenium自動(dòng)化測(cè)試 強(qiáng)大的CSS定位方法
ccs的優(yōu)點(diǎn):css相對(duì)xpath語(yǔ)法比xpath簡(jiǎn)潔,定位速度比xpath快
css的缺點(diǎn):css不支持用邏輯運(yùn)算符來(lái)定位,而xpath支持。css定位語(yǔ)法形式多樣,相對(duì)xpath比較難記。
css定位建議多用,這個(gè)定位方式很強(qiáng)大,定位速度快且準(zhǔn)確度高。至于難記,用熟了就好了,對(duì)勤快的人來(lái)說(shuō),這不是問(wèn)題。
CSS_selector常用符號(hào):
# 表示id
. 表示class
> 表示子元素,層級(jí)
1.通過(guò)id屬性定位:
find_element_by_css_selector("#id的屬性值")
實(shí)例:find_element_by_css_selector("#kw")
2.通過(guò)class_name屬性定位:
find_element_by_css_selector(".class的屬性值")
實(shí)例:find_element_by_css_selector(".s_ipt")
3.通過(guò)其它屬性定位:
find_element_by_css_selector("[屬性=‘屬性值']")
find_element_by_css_selector("[屬性=屬性值]") ---------------- 請(qǐng)注意這里屬性值沒有加引號(hào)
實(shí)例1:find_element_by_css_selector("[name=‘kw']")
實(shí)例2.1:find_element_by_css_selector("[style=‘display']")
實(shí)例2.2:find_element_by_css_selector("[style=display]") ---------請(qǐng)注意這里屬性值沒有加引號(hào)
這里特意舉例兩次,是強(qiáng)調(diào)引號(hào)在這里加不加都沒關(guān)系,不會(huì)影響定位。
4.通過(guò)父子關(guān)系定位:
假如你不知道某人的身份證號(hào)碼、名字、手機(jī)號(hào)碼等信息時(shí)無(wú)法取得聯(lián)系,但是你知道某人爸爸的手機(jī)號(hào)碼,此時(shí)你可以通過(guò)他爸爸來(lái)找到某人。也就是通過(guò)(“他爸爸[phone=手機(jī)號(hào)]>本人”) 找到某人。
換成術(shù)語(yǔ)就是當(dāng)我們定位元素時(shí),發(fā)現(xiàn)沒有可以標(biāo)識(shí)的唯一的元素的屬性值時(shí),那我們可以考慮用父親標(biāo)簽結(jié)合屬性來(lái)定位元素。例如:
find_element_by_css_selector(“input#id的屬性值>下級(jí)標(biāo)簽”)
實(shí)例:find_element_by_css_selector(“input#kw>div”)
5.通過(guò)爺爺關(guān)系定位:
假如他爸爸也沒有手機(jī)號(hào)碼,此時(shí)你可以往上找他爺爺。也就是也就是通過(guò)(“他爺爺[phone=手機(jī)號(hào)]>他爸爸>本人”) ,找到某人。
換成術(shù)語(yǔ)就是當(dāng)我們定位元素時(shí),發(fā)現(xiàn)父親標(biāo)簽中沒有可以標(biāo)識(shí)的唯一的元素的屬性值時(shí),那我們可以考慮用爺爺標(biāo)簽結(jié)合屬性來(lái)定位元素。例如:
實(shí)例:find_element_by_css_selector(“input#kw>divs>div#ko”)
以上這篇python3 selenium自動(dòng)化測(cè)試 強(qiáng)大的CSS定位方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- python3+selenium自動(dòng)化測(cè)試框架詳解
- selenium+python自動(dòng)化測(cè)試之使用webdriver操作瀏覽器的方法
- selenium python 實(shí)現(xiàn)基本自動(dòng)化測(cè)試的示例代碼
- python selenium自動(dòng)化測(cè)試框架搭建的方法步驟
- selenium+python自動(dòng)化測(cè)試之頁(yè)面元素定位
- selenium+python自動(dòng)化測(cè)試之環(huán)境搭建
- 使用Python+selenium實(shí)現(xiàn)第一個(gè)自動(dòng)化測(cè)試腳本
- python+django+selenium搭建簡(jiǎn)易自動(dòng)化測(cè)試
- selenium自動(dòng)化測(cè)試簡(jiǎn)單準(zhǔn)備
相關(guān)文章
paramiko使用tail實(shí)時(shí)獲取服務(wù)器的日志輸出詳解
這篇文章主要給大家介紹了關(guān)于paramiko使用tail實(shí)時(shí)獲取服務(wù)器的日志輸出的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12基于Python?+?PyQt搭建可視化頁(yè)面的詳細(xì)教程
PyQt是一個(gè)Python綁定庫(kù),它是基于Qt庫(kù)的,PyQt提供了一整套豐富的組件,包括窗口、按鈕、菜單、列表框等,以及事件處理、布局管理、網(wǎng)絡(luò)通信等多種功能,本文介紹了基于Python?+?PyQt搭建可視化頁(yè)面的詳細(xì)教程,需要的朋友可以參考下2024-07-07python mqtt 客戶端的實(shí)現(xiàn)代碼實(shí)例
這篇文章主要介紹了python mqtt 客戶端代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09

python 實(shí)現(xiàn)識(shí)別圖片上的數(shù)字

nlp自然語(yǔ)言處理基于SVD的降維優(yōu)化學(xué)習(xí)

python 遞歸調(diào)用返回None的問(wèn)題及解決方法

使用python驗(yàn)證代理ip是否可用的實(shí)現(xiàn)方法