相信有一部分朋友在做UI自动化的时候,会遇到有些元素,明明这次定位到之后,到时重新进入页面,里面的元素值就变样了。下面我们来看看如何定位随机生成的元素~~
starts-with
如图,这个是我们公司的项目,在处理一个勾选框的时候,里面的id元素是随机生成的,我们可以使用xapth中提供的starts-with方法
//标签名[starts-with(@元素名, '元素值')]
//div[1]/div/div[3]//li[starts-with(@id, "cascader-menu")][1]
我们可以看到,首先定位到 li 这个标签下,然后找到id的元素,可以看到id后面的那串数字都是随机生成的,每次进入页面都不一样,但是我发现前面的“cascader-menu”内容是固定的,因此我们可以使用starts-with找元素内容从“cascader-menu”开始的元素
ends-with
xpath中也提供了ends-with的方法,使用方法跟starts-with相同,它是以某字符串结尾的元素。
conatins
//div[1]/div/div[3]//li[contains(@id, "cascader-menu")] [1]
使用xpath中的contains方法,也是可以的~大家可以根据需要结合使用