首页 > 其他 > 详细

xpath定位大全

时间:2019-03-25 18:01:12      阅读:224      评论:0      收藏:0      [点我收藏+]

写在之前,每次自己通过xpath定位的时候,在网上找的不是很全,所以想自己写一个相对比较全的,方便查阅;如果写的不好或者不足的,请指正,谢谢!

 

xpath定位分为绝对路径和相对路径

一:绝对路径

绝对路径是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径,以百度首页为例,查询输入框的定位,xpath=/html/body/div/div/div/div/div/form/span/input或者xpath=/html/body/div[2]/div[2]/div[5]/div/div/form/span/input,根据该位置在HTML底下的层级关系,一层一层找下来,如果遇到div等重复较多,可以数该标签的顺序,以便提高定位的精度

技术分享图片

 

二:相对路径

相对路径就是指由这个文件所在的路径引起的跟其它文件(或文件夹)的路径关系,如xpath=//div[@class=‘main-logo‘],相比绝对路径,相对路径更容易定位到对应的位置且写法简单,也不用担心元素的位置变化而调整定位;

相对路径定位方式有哪一些:

A.直接定位标签

//input     #//标识定位到某一个标签,//*则代表所有标签,//input则定位所有input标签

 

B.标签+属性匹配

//input[@id=‘kw‘]  或者//input[@type=‘text‘]  #由一个标签+某一个属性的组合 ,其中@代表匹配属性名称,相当于匹配所有的input标签并匹配属性id=kw的元素

 

C.标签和多个属性

//input[@id=‘kw‘ and @type=‘text‘]    #由一个标签+多个属性的组合,相当于匹配了所有的input标签并匹配属性id=kw且属性type=text的元素

//input[@id=‘kw‘ or @type=‘text‘]      #由一个标签+多个属性的组合,相当于匹配了所有的input标签,并匹配属性id=kw或者属性type=text的元素 

 

D.父子定位

//form[@id="form"]/input   #相当于先定位到了父节点,再找到对应的子节点,常用语当前元素不易定位而父节点较易定位的情况

 

E.contains

//input[contains(@id,‘w‘)]  #相当于匹配了所有的input标签且id属性包含字符串"w"的元素 (模糊定位)

//a[contains(text(),‘新闻‘)]  #相当于匹配了所有的input标签且文本包含"新闻"  (模糊定位)

 

F.start-with和ends-with

//input[starts-with(@id,‘k‘)]  #相当于匹配了所有的input标签且属性id以字母k开头的元素 (模糊定位)

//input[ends-with(@id,‘w‘)]  #相当于匹配了所有的input标签且属性id以字母w结尾的元素 (模糊定位)

 

G.文本定位

//a[text()=‘新闻‘]   #精准定位到本文属性,contains则是模糊定位

 

H.关系定位方式(通过子节点找父节点、爷节点;兄弟节点或者堂兄弟等等)

技术分享图片

1.子节点找父节点

//input[@id="kw"]/..         #相当于我们精确定位到了查询输入框,然后找他的父节点,往回走一层(根据层级关系)

//input[@id="kw"]/parent::span

 

2.兄弟节点

//input[@id="kw"]/../span   #相当于找到了父节点再往下找子节点(兄弟节点)

//input[@id="kw"]/following-sibling::a   #往下找兄弟节点,也可以写//input[@id="kw"]/following-sibling::a[1],定位到后面的第几个a标签

//input[@id="kw"]/preceding-sibling::span  #往上找兄弟节点,也可以写//input[@id="kw"]/preceding-sibling::span[1],定位到前面的第几个span标签

 

同理可以找到相关的爷爷节点,堂兄弟节点等等

 

xpath定位大全

原文:https://www.cnblogs.com/xiaopeng4Python/p/10595086.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!