selenium模糊匹配控件

起因:在查找一些控件时,可能控件的一些属性是变化的,那在匹配时需要进行模糊匹配,模糊匹配,使用xpath

定位方式有种:

contains(属性名,字符串):使用文本匹配,功能很强大

starts-with(属性名,字符串):根据开头进行模糊匹配

ends-with(属性名,字符串):根据结尾内容进行匹配

matchs(属性名,字符串):根据正则进行匹配

案例:

如图,点击底部的一个收藏,弹出OK按钮,需要点击这个Ok,就能正常执行下一步

 

<span type="1">OK</span>

 原本是通过css,进行定位,发现每打开商品,商品的页面开始都会有变化,试试模糊匹配

从浏览器复制出来的css地址为:

#layermbox0 > div.layermmain > div > div > div.layermbtn > span
重新打开页面,变化为
#layermbox1 > div.layermmain > div > div > div.layermbtn > span

前提已初始化了driver,并且已经可以启动

模糊匹配

使用starts-with
driver.findElement(By.xpath("//span[starts-with(@type,'1')]")).click();
//span:外部标签

starts-with(类型或者内容,值)

使用contains

driver.findElement(By.xpath("//*[contains(text(),'ok')]")).click();
看其他人对text还有另外一种写法
driver.findElement(By.xpath("//*[text()='ok')]")).click();

目前没有使用正则,和ends-with匹配,有遇到案例在补充

 

转载于:https://www.cnblogs.com/chongyou/p/6411231.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值