CssSelector常用定位方式總結

2022-09-08 03:21:10 字數 2367 閱讀 6798

使用cssselector來定位頁面中的元素,是經常使用的方式,本文列出典型的使用方法。

1.  根據 標籤定位 tagname(定位的是一組,多個元素)

e.g:find_element_by_cssselector("div")

2. 根據 id屬性定位(注意id使用#表示)

e.g: find_element_by_cssselector("#eleid")

e.g: find_element_by_cssselector("div#eleid")

3. 根據classname屬性定位(注意class屬性使用.)

e.g: find_element_by_cssselector("div.eleclass")

4. 根據元素屬性定位

4.1 精確匹配:

e.g: find_element_by_cssselector("div[name=elename]")  #屬性名=屬性值,精確值匹配

e.g: find_element_by_cssselector("a[href]") #是否存在該屬性,判斷a元素是否存在href屬性

注意:如果class屬性值裡帶空格,用.來代替空格

4.2 模糊匹配

e.g: find_element_by_cssselector("div[name^=elename]") #從起始位置開始匹配

e.g:  find_element_by_cssselector("div[name$=name2]") #從結尾匹配

e.g: find_element_by_cssselector("div[name*=name1]") #從中間匹配,包含

4.3 多屬性匹配

e.g: find_element_by_cssselector("div[type='eletype][value='elevalue']") #同時有多屬性

e.g: find_element_by_cssselector("div.eleclsss[name='namevalue'] #選擇class屬性為eleclass並且name為namevalue的div節點

e.g: find_element_by_cssselector("div[name='elename'][type='eletype']:nth-of-type(1) #選擇name為elename並且type為eletype的第1個div節點

5. 定位子元素 (a>b)

e.g: find_element_by_cssselector("div#eleid>input") #選擇id為eleid的div下的所有input節點

e.g: find_element_by_cssselector("div#eleid>input:nth-of-type(4) #選擇id為eleid的div下的第4個input節點

e.g: find_element_by_cssselector("div#eleid>nth-child(1)") #選擇id為eleid的div下的第乙個子節點

6. 定位後代元素 (a空格b)

e.g: find_element_by_cssselector("div#eleid input") #選擇id為eleid的div下的所有的子孫後代的 input 節點

e.g: find_element_by_cssselector("div#eleid>input:nth-of-type(4)+label #選擇id為eleid的div下的第4個input節點的相鄰的label節點

e.g: find_element_by_cssselector("div#eleid>input:nth-of-type(4)~label #選擇id為eleid的div下的第4個input節點之後中的所有label節點

7. 不為

e.g: find_element_by_cssselector("div#eleid>*.not(input)") #選擇id為eleid的div下的子節點中不為input 的所有子節點

e.g: find_element_by_cssselector("div:not([type='eletype'])") #選擇div節點中type不為eletype的所有節點

8. 包含bycontent

e.g: find_element_by_cssselector("li:contains('goa')") # goat

e.g: find_element_by_cssselector("li:not(contains('goa'))) # cat

9. by index

e.g: find_element_by_cssselector("li:nth(5)")

cssselector元素定位

cssselector也是一種常用的選擇器,css locator比xpath locator速度快,用css selector能非常精準的定位到想測試的elements 表示id 表示class 表示子元素,層級 乙個空格也表示乙個子元素,但是所有的子元素相當於xpath中的相對路徑 input ...

定位方法之css selector定位

1.css層疊樣式表,修飾html或xml的檔案樣式,css裡包含selector選擇器的技術,可以選擇介面上的元素 也就是我們所說的定位元素 可以像xpath一樣描述元素的特徵或路徑。優點是比xpath定位元素速度更快 更簡潔短小,缺點是功能沒有xpath強大,不能向前查詢。css定位和xpath...

Web元素定位之CSS Selector

target css 3 xpath 所有元素 所有的p元素 p p 所有的p元素的子元素 p p 根據id獲取元素 轉義 id id id 根據class獲取元素 class contains class,class 擁有某個屬性的元素 title title 所有p元素的第乙個子元素 p fir...