=====本文针对XPATH路径定位方式===

 

 XPATH元素定位:

-----  相对定位方式:
1、//标签名[@属性名=值]
2、//标签名[text()=值]
3、//标签名[contains(@属性名,值)] 或 //标签名[contains(text(),值)]
  如: //a[text()="hao123"]
以上为单一属性,无法 唯一定位元素时,需要用到组合定位
------- 组合条件:
and or
如: //标签名[text()=值 and @属性名=值 and contains(@属性名,值]
如://标签名[text()=值 or @属性名=值 or contaions(@属性名,值)]
    紧靠元素本身的特征,已经无法唯一定位时,需要用到层级定位
------------ 层级:
//祖先节点//要找的节点
     如下图: //div[@id='u1']//a[@name='tj_login'] #即第二个才是我们要找的‘登录’元素, 要找的节点前使用双斜杠更灵活,单斜杠也可以
-----------   轴定位:
  根据已知元素找到其兄弟姐妹、父母节点
  ancestor:祖先节点 包括父
  parent:父节点
  precending-sibing:当前元素节点之前的所有兄弟
  following-sibing:当前元素节点之后的所有兄弟
  其语法:
  已知元素/轴名称::标签名[@属性=值]
如下图,“查询”是一个按钮连接,先找到“查询”span标签,然后轴名称parent ,双冒号,标签名。
示例: //span[text()='查询']/parent::button    
 
再如:发布作业值是变化的,但是“发布作业”文字是不变得,想要获取其值,先获取“发布作业”元素,然后在找它的兄弟元素即可;
   此时 就用到轴定位的 precending-sibing 和 following-sibing , 根据元素可以看到 动态值是在 发布作业之前,所以要用precending-sibing ,
 示例: //li[text()="发布作业"]precending-sibing::li

 

 

 
 
--end--

 


 





posted on 2023-02-20 14:37  给天使看的戲  阅读(113)  评论(0编辑  收藏  举报