7xpath定位之节点定位

哪家治疗白癜风的医院好 http://pf.39.net/bdfyy/
sharTest致力于免费分享软件测试技术

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

网站简介| 发布优势| 服务条款| 隐私保护| 广告合作| 网站地图| 版权申明

当前时间: