8種元素定位方式


頁面元素定位的方式  主要有8種  分類如下

元素屬性定位 有 id , name , class_name

元素標簽定位  tag_name

鏈接定位 link_text  ,  partial_link_text

選擇器定位 xpath  ,  css_selector

因為很多時候只通過  id , name , class_name  ,tag_name  , link_text  ,  partial_link_text  是無法定位到某些元素的  此時就需要借助  xpath 和css_selector

定位方式 難點和重點也就是xpath和css_selector  這兩種其實只要會一種即可 。css_selector 這種方式這里就不深入講解,有興趣的可以專門去學習下。

xpath 的定位需要對 xml/html 有一定的了解  

1.斜杠  /  的用法和平時選擇路徑(絕對路徑)用法相同  例如:  /xxx  就是選取根節點        /xxx/yyy  就是通過絕對路徑選擇到元素

2.雙斜桿 //  的用法和平時路徑(相對路徑)用法相同  例如  //xxx 就是選取整個頁面的xxx元素  

1和2是可以混合使用的  例如 //xxx/yyy  選取的就是xxx元素下的yyy元素

3. 點  .  選取當前節點的父元素節點

4.點點  ..  選取的是父元素的地址

5.  @  的運用  例如//xxx[@id]  選取的就是xxx元素下有id屬性得元素  ,//xxx[@id=yyy]  選取的就是xxx下 id為yyy的元素

6.以上這些如果有多個值的時候 默認返回的都是第一個值   例如  通過 /html/.../input  獲取到有多個值 那么返回的是第一個值  要獲取第二個值可用 /html/.../input[2]

下面舉例幾個  

‘//frame//input‘  默認獲取的是第一個值

‘//frame//input[2]’  獲取的是第二個

‘//input[@id] ‘含有id的

‘//input[not(@id)] ’  不含id的

‘//input[not(@id=“name”)]’  id為name的

‘//*’  查找整個文檔的所有元素

‘//*[(count(input))=2]’  input的個數為2的標簽

...

這種例子很多  還要自己慢慢深入了解

 

8中定位模式 還有elements的這種

 

 elements 這種返回的是一個列表 所有要利用索引獲取到元素 例如 find_elements_by_id(‘xxx’)  那么他返回的就是id為xxx的所有元素  要獲取值必須加上索引 

 


免責聲明!

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



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