selenium 定位--xpath 定位法

UI自动化定位除了常用的6种定位方式外,还有2种组合定位方式,xpath 和css。这里主要介绍下xpath 定位。xpath 可以分为2种定位方式。绝对和相对。绝对定位可以借助浏览器工具f12 直接操作拿到,相对定位需要自己编写表达式。

1、绝对定位和相对定位

绝对定位:浏览器打开html,右键copy xpath。弊处在路径位置一旦发生变化,则绝对路径就会发生变化。

    拿到的路径类似于:div[3]/i[4]

相对定位:以//开头,不管元素在哪里,都可以根据属性匹配到。

2、常用表达式

  1. //标签名[@属性名=值]
  2. //标签名[text() = 值]
  3. 属性和文本都支持部分匹配的: //标签名[contains(@属性/text(),'包含的内容')]
  4. 逻辑运算  and   or  not 
    1.   // div[@href = 'www.baidu.com' and contains(text(),'百度')]
  5. 层级定位。当元素的特征不唯一的时候,先定位到元素祖先,再去定位元素后代。
    1. //div[@id='ii']//a[@name='login']          // 用来匹配子孙后代的    / 只匹配儿子
  6. 轴定位

      ancestor : 祖先节点  包含父
      parent : 父节点
      preceding-sibling: 当前元素节点标签之前的所有兄弟节点(哥哥姐姐)
      following-sibling: 当前元素节点 标签之后的所有兄弟节点(弟弟妹妹)

  使用语法:已知的元素/轴名称::标签名称[@属性=值]

 

posted @ 2021-02-14 21:45  胖虎大人v  阅读(127)  评论(0)    收藏  举报