selenium模糊匹配控件

Posted 做梦的人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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匹配,有遇到案例在补充

 

以上是关于selenium模糊匹配控件的主要内容,如果未能解决你的问题,请参考以下文章

使用python处理selenium中的xpath定位元素的模糊匹配问题

使用python处理selenium中的css_selector定位元素的模糊匹配问题

DevExpress控件cxGrid实现多列模糊匹配输入的完美解决方案

dev 中 字符串转中文拼音缩写,对grid列表进行模糊匹配,grid获取焦点行,gridlookupedit控件用拼音模糊匹配下拉选项

mybatis模糊查询

如果实现在combobox控件输入框中输入值而下拉列表弹开并显示根据输入值模糊查询查询数据库中的内容呢?