分享工作中使用selenium元素定位的一些技巧

**

下面是我在之前中兴做自动化测试时,关于遇见元素定位问题的解决方法总结,希望对大家有用

**

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标签```

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ko-walski

太难了,求鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值