selenium xpath定位方式整理

#xpath定位元素方法:
/html/body/div[2] #绝对路径定位
#相对路径定位元素
//* #找到所有的元素
//input #找到input元素
//*[@*] #表示有属性的所有元素
//*[@id] #找到所有包含id属性的元素
//*[@id="div1"] #找到id为div1的元素
//*[@id="div2" and @name="wulaoshidiv"] #找到同时具备两个属性的元素(必杀技)
//*[@id="div1" or @name="wulaoshidiv"] #找到其中一个具备属性的元素
//*[@id!="div1"] #找到id不等于div1的元素
//*[contains(@name,"wulao")] #找到部分属性值的元素
//*[.="挺风和日丽的"] #通过文本定位页面元素(找到两个元素)
//div[@id="div1"]/*[.="挺风和日丽的"] #先找到div1的元素,然后定位文本元素
//div[@id="div1"]/*[contains(.,"风和")] #模糊查找元素
//div[@id='div1']/p[3] #找到div元素下的第3个p元素
//div[@id='div1']/p[last()] #找到div元素下最后一个p元素
//div[@id='div1']/p[last()]/.. #找到上一级元素
//div[@id='div1']/* #找到div1下所有的子节点
//p[.>20] #找到元素p中值大于20的元素
//p[text()=20] #找到p元素中文本为20的元素(.和text()相同)


#亲属关系匹配(轴)
parent::* #表示当前节点的父节点元素
ancestor::* #表示当前节点的祖先节点元素(所有的)
child::* #表示当前节点的子元素
/A/descendant::* #表示A的所有后代元素
self::* #表示当前节点的自身元素
ancestor-or-self::* #表示当前节点的及它们的后代元素
following-sibling::* #表示当前节点的后面所有兄弟节点元素
preceding-sibling::* #表示当前节点的前面所有兄弟节点元素
following::* #表示当前节点的后序所有元素
preceding::* #表示当前节点的所有元素

#练习:

//p[.=50]/preceding-sibling::p[1] #找到p元素值为50的上一个p元素

//p[.=40]/following-sibling::p[1] #找到p元素值为50的下一个兄弟p元素

//p[.=40]/parent::div #找到当前节点父元素

//p[.=40]/ancestor::div/preceding-sibling::div #找到p为40的父元素的上一个div兄弟元素

//*[@id='div1']/child::p[1] #找到id属性值为div1的下一级p的第一个元素
 

 

posted @ 2019-04-11 14:47  小金儿  阅读(207)  评论(0编辑  收藏  举报