selenium之css選擇器高級用法


針對css selector和xpath的優先級做一個簡單的說明

在項目中我們可能用的最多的是css或者xpath,那么針對這兩種,我們優先選擇css,原因在哪些?

原因1:css是配合html來工作,它實現的原理是匹配對象的原理,而xpath是配合xml工作的,它實現的原理是遍歷的原理,所以兩者在設計上,css性能更優秀

原因2:語言簡潔,明了,相對xpath

原因3:前段開發主要是使用css,不使用xpath,所以在技術上面,我們可以獲得幫助的機會非常多

定位元素的注意事項

找到待定位元素的唯一屬性 如果該元素沒有唯一屬性,則先找到能被唯一定位到的父元素/子元素/相鄰元素,再使用“>”," ","+"等進行輔助定位。

id選擇器

id 選擇器可以選中具有特定 id 的 HTML 元素 CSS 中 id 選擇器以 "#" 來定義。

通過#加上id的值就可以唯一定位到輸入框,如:#s_kw_wrap    這樣就可以使用id選擇器實現css定位方法元素定位

class 選擇器

class 選擇器可以選中具有特定 class 屬性的 HTML 元素 在 CSS 中,class 選擇器以 "."號 來定義

注意:在css中使用class定位的話,是以點(.)開始,還要將class中間的空格換成點(.)

屬性選擇器

屬性選擇器選擇具有特定屬性的 HTML 元素,如:[type="submit"]

分組選擇器

分組選擇器可以選中一組 HTML 元素 在 css 中,分組選擇器以 “,” 來定義

同時選擇所有<span>元素和所有 <a> 元素和所有 <div> 元素

選擇器組合使用

那在實際工作中通過上面其中一種是無法滿足的,還可以把他們組合起來。

組合選擇符

在 CSS中包含了四種組合方式:

后代選擇器(以空格分隔)    后代選擇器用於選取某元素的后代元素,無論層級有多深

 例子:div  span          描述:選擇 <div> 元素內部的所有 <span> 元素(包括子元素、孫子元素)

子元素選擇器(以大於號分隔)  與后代選擇器相比,子元素選擇器只能選擇其父元素的直接子元素

例子: div>p               描述:選擇 <div> 元素下的 <p> 子元素。

相鄰兄弟選擇器(以加號分隔)相鄰兄弟選擇器可選擇緊接在另一元素后的元素,且二者有相同父元素

例子:  div>p              描述:選擇 <div> 元素之后的所有兄弟 <p> 元素

后續兄弟選擇器(以小波浪號分隔)  后續兄弟選擇器選取所有指定元素之后的相鄰兄弟元素。

例子:   div~p             描述:選擇 <div> 元素之后的所有相鄰兄弟元素 <p>

偽類選擇器

 

nth-child(n)   匹配屬於其父元素的第 N 個子元素

nth-last-child(n),如字面意思:倒數第幾個標簽

nth-of-type(n),第 N 個指定類型的標簽

first-child,第一個標簽 last-child,最后一個標簽

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM