CssSelector常用定位方式總結


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

轉載的,原文鏈接:https://blog.csdn.net/hou_angela/article/details/80519718

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')") # <li>Goat</li>

   e.g: find_element_by_cssSelector("li:not(contains('Goa'))) # <li>Cat</li>

9. by index

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


免責聲明!

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



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