selenium元素定位常用的8种方法

在使用selenium进行web自动化测试时,元素定位是非常重要的一个环节,下面介绍selenium元素定位中常用的8种方法。

1、通过元素的id属性定位
driver.findElement(By.id())
示例:driver.findElement(By.id("username"))
2、通过元素的name属性定位
driver.findElement(By.name())
示例:driver.findElement(By.name("login"))
3、通过元素的classname属性定位
driver.findElement(By.className())
示例:driver.findElement(By.className("pass"))
4、通过链接内容定位某元素
driver.findElenment(By.linkText())
示例:driver.findElenment(By.linkText("取消"))
5、通过标签名称定位
driver.findElement(By.tagName())
示例:driver.findElement(By.tagName(“a”))
6、通过链接的部分内容定位
driver.findElement(By.partialLinkText())
示例:driver.findElement(By.partialLinkText(“跳转到“))
7、通过css表达式定位
driver.findElenment(By.cssSelector())
通过ID属性编写表达式:标签#idname,示例:a#top-bnt
通过class属性编写表达式:标签.classname,示例:a.top-bnt(注意:css表达式中不允许使用空格,如果有空格需使用.代替)
通过元素的其他属性编写表达式:标签[属性=‘值’],示例:button[type='submite']
同时使用两个属性定位表达式:示例:input[class='ui-input'][name='password']
通过层级定位编写表达式:E>F,先定位到E元素,再定位到F元素;示例:div.user-btns>a#top-bnt
通过contains编写表达式:标签:contains(‘部分文字’),示例:a:contains('登录')
8、通过xpath表达式定位
driver.findElenment(By.xpath())
通过元素属性编写表达式://标签[@属性=‘属性值’],示例://input[@name='username']
同时使用两个属性定位://input[@name='username'and @class='input']
同名元素拥有某个属性而没有另一个属性://input[@name='username'and not(@class)]
通过索引编写表达式:通过元素层级定位,示例://header/div/nav/ui/li[3](注意:xpath中序号从1开始)
通过text编写表达式:text为完全匹配,需要输入全部文字;示例://a[text()='登录']
通过string编写表达式:元素内容被子元素截断时,通过text无法定位,可以使用string;示例://a[string()='登录']
通过contains编写表达式:contains为部分匹配,只需输入部分文字;示例://a[contains(text(),'登录')]//a[contains(text(),'登')]
通过子元素查找父元素:父元素不好定位,且子元素定位表达式唯一,可以通过子元素表达式/..定位父元素。示例://span[text()="全部"]/..

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

梦里有阳光

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值