深刻淺出xpath軸定位

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

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

 

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

 

  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首頁爲例:blog

這是parent:自動化

 

這是child:im

 

 

這是ancestor:d3

 

 

這是ancestor:商城

 

這是following:xpath

 

這是following-sibling:margin

 

這是preceding:

 

 

這是preceding-sibling:

怎麼樣,如今是否是對xpath軸定位有了更深入的認識了?

相關文章
相關標籤/搜索