7xpath定位之节点定位
哪家治疗白癜风的医院好 http://pf.39.net/bdfyy/sharTest致力于免费分享软件测试技术
上一篇文章: SpringBoot基础系列手把手实 下一篇文章: Python练习手册2附带解题思路
xpath在自动化测试中是用的最多的一种定位方式,也算是最稳定的定位方式,xpath的定位类别较多,可以自由的切换定位
01xpath语法前言:
我们的定位都是通过有利条件来缩小我们的范围,最终定位到节点上。首先我们可以把整个dom想象成一个族谱,xpath定位就是去找族谱上的人,族谱的角色有:自己,兄弟姐妹,父亲,爷爷,儿子,孙子。那么如何来寻找呢,举例如下:
1、寻找叫"张三"的儿子
2、寻找名字包含"国"的儿子
3、先找到爷爷,再找爷爷兄弟的儿子中叫"张四"的人
......
所以当族谱范围很大的时候,相同点多的时候,可以通过缩小范围来找。比如:寻找叫张四的男人:那么第一先找到所有的男人,再去匹配叫张四的人,就可以轻松的找到了
xpath就是以这样的方式来找到我们需要的节点,xpath的书写表达式如下:
/:代表从dom的根节点(族谱的最顶端)
//:代表可以从任意节点位置,来匹配dom任意节点。也就是相当于不受当前所在节点的约束,来匹配其他节点
.:选取当前节点
..:选取当前节点的父节点
:选取属性*:匹配任意元素标签
*:匹配任意属性节点node():匹配任意类型节点
02xpath属性定位规范写法://标签名[
属性="属性值"]属性是什么呢:我们看到的id=xxx,name=xxx,class=xxx等等,带有键值对的都是属性
实际操作:我们来通过xpath定位到这个百度搜索框
#//不受当前节点约束,直接可以匹配整个dom任意节点#*先匹配所有的元素标签#
匹配元素节点叫id的属性#id=kw匹配元素叫id且值等于kw的节点driver.find_element_by_xpath("//*[id=kw]")#name=wd匹配元素叫name且值等于wd的节点driver.find_element_by_xpath("//*[name=wd]")#class=s_ipt匹配元素叫class且值等于wd的节点driver.find_element_by_xpath("//*[class=s_ipt]")#auto转载请注明:http://www.sonphie.com/jbzl/14150.html