selenium中的xpath定位

Tynam.Yang發表於2018-04-09

一、簡介

XPath 是一門在 XML 文件中查詢資訊的語言。XPath 用於在 XML 文件中通過元素和屬性進行導航。

二、定位

2.1 利用自己的本身屬性定位

  //標籤[文字屬性和值]
  下面百度的例子:
  //a[text()='個人中心']  #利用文案
  //div[@class='s-isindex-wrap' and @class='s-user-set-menu']  #利用class並且用and連線,表示只有兩個屬性都滿足時才確定元素
  //div[@class='s-isindex-wrap' or @class='s-user-set-menu']  #利用class並且用and連線,表示只要兩個屬性滿足其中一個時就確定元素
  //div[@id='s_user_name_menu']   # id定位
  //div[contains(@class,'s-user-set-menu')]  #只要class中有s-user-set-menu字串便定位,contains多用在文案定位中
 
2.2 利用父節點定位
  定位個人中心
    //div[@id='s_user_name_menut']/div/a  
  因為個人中心的父節點就一個div無法定位,所以找到div的上一級
  先定位到他的上一級的位置,然後找到個人中心。例如:找到id=s_user_name_menu的位置,他的下一級中又個div然後才是個人中心
  div中有好多a標籤,如果是第一個a標籤就直接寫a或者a[0],如果不是第一個a標籤寫成a[index]。index為索引位置,索引從0開始計算
 
2.3 依靠子節點定位
   利用個人中心定位id=s_user_name_menu的位置
    //div[div[a[text()='個人中心']] ]
   第一個中括號為定位的位置,中括號裡面的中括號為第一個中括號的下一級位置,依次類推
 
2.4 同級定位
   通過個人中心定位賬號設定 
  //a[text()='個人中心']-sibling=a   或者  //a[text()='個人中心']-sibling::a
  緊跟著定位的位置下一個a標籤
 
2.5 萬用字元*定位
      //div[@*='s_user_name_menu']  # 查詢div標籤中任何屬性的值只要為s_user_name_menu便成功定位
      //*[@id='s_user_name_menu']  # 在任何標籤下,只要id='s_user_name_menu'便成功定位
 
2.6 從根目錄開始定位,用“/”開始
  /html/body/xxxx/div/xxx
 
 
 

相關文章