深入淺出xpath軸定位


在web自動化里面經常要用到定位,常用的八種定位方式中我最喜歡xpath定位,功能很強大。結合它里面的文本定位、模糊定位、邏輯定位等,基本能搞定所有的元素定位問題。

  今天要討論的是xpath的另一種比較復雜的定位:軸定位。網上的關於軸定位的我翻了下,說得都不夠詳細 ,有的一筆帶過,這着實苦惱了我許久。晚上研究了會,發現這玩意確實不好理解,特此記錄一下,以防日后又忘了。。

 

  總共有八個軸關鍵字,parent,child,ancestor祖先,descendant后裔,following,following-sibling兄弟姐妹,preceding,preceding-sibling。具體含義如下:

 

  1. parent::div 上層父節點,你那叫div的親生爸爸,最多有一個;
  2. child::div 下層所有子節點,你的所有親兒子中叫div的;
  3. ancestor::div 上面所有直系節點,是你親生爸爸或者你親爹或者你親爹的爸爸中叫div的;
  4. descendant::div 下面所有節點,你的后代中叫div的,不包括你弟弟的后代;
  5. following::div 自你以下頁面中所有節點叫div的;
  6. following-sibling::div 同層下節點,你所有的親弟弟中叫div的;
  7. preceding::div 同層上節點,你所有的親哥哥以及他們的后代中叫div的;
  8. preceding-sibling::div 同層上節點,你所有的親哥哥中叫div的;   

 

 

注意他們之間有些微妙的區別,最好結合實際的元素定位例子親自操作一下,這里以小米商城mi.com首頁為例:

這是parent:

 

這是child:

 

 

這是ancestor:

 

 

這是ancestor:

 

這是following:

 

這是following-sibling:

 

這是preceding:

 

 

這是preceding-sibling:

怎么樣,現在是不是對xpath軸定位有了更深刻的認識了?


免責聲明!

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



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