AutoTest-AutoAI我爱编程000python

selenium中常用的xpath定位方法

2017-07-11  本文已影响1747人  打五笔的程序员

绝对路径的方法和通过firepath里面定位的方法,这两种都是新手常用的,这里今天不讲着两种

1.通过元素属性定位

//tag[@attr=attr] 以下所有的例子都通过百度首页来演示给大家。定位百度搜索框,//input[@type='text'],//input[@class='s_ipt']。//input[@attr=attr]只要是input里面的的属性都可以用来定位,当然还要看看是不是唯一的

定位百度搜索框

2.使用逻辑运算符 还是定位百度搜索框为例

//tag[@attr1=attr1 and @attr2=attr2]  这个是逻辑与(and),逻辑或(or)s是也同样的

使用逻辑与定位

3.通过文本定位

3.1text()

//tag[text()=xx],这里用百度首页里面的"hao123"链接举例子

//a[text()='hao123']

定位"hao123"

3.2 contains() 包含定位

//tag[contains(text(),xx)] ,//tag[contains(@attr,xx)],前面一个是文本,后面一个是包含属性前面都讲了直接@属性定位,这里就不讲了

//a[contains(text(),'hao')] 这里同样是定位"hao123"这个链接,当然你也可以写全

包含文本定位 包含属性定位

4.position()=n位置定位 

//tag[@attr=attr][position()=n] 这里还是定位"hao123" 。//a[@class='mnav'][position()=2]  n表示第几个元素,n从1开始

定位"hao123"

5.last()-n

n=0或者不写last()默认倒数第一个,n=1倒数第二,以此类推 

定位"hao123"

6.following-sibling 选取当前节点之后的所有同级节点

这里定位"hao123"这个a标签的父级元素(div)的同级的第一个div

7.preceding-sibling 选取当前节点之前的所有同级节点

7和6相反的,6是同级往下走,7是同级往上走的

6和7定位不怎么用,但是在selenium定位元素的时候还用到过,大家了解知道有这么个东西就好了

上一篇下一篇

猜你喜欢

热点阅读