web自动化-元素模糊定位方法
web自动化-元素模糊定位方法
常见元素定位方法,主要是通过id,class,xpath等,这些元素有时它的属性值是随机的,但同时又有一定的规律,为了提高代码定位元素的准确性,我们寻找其规律,然后集成到元素中进行重构。
元素模糊定位,即对页面元素属性值进行部分匹配。元素属性值的匹配方式主要有三种,分别是”starts-with”,“ends-with”和”contains”,text()
starts-with 匹配一个属性开始位置的关键字
ends-with 匹配一个属性结束位置的关键字
contains 匹配一个属性值中包含的字符串
text() 匹配的是显示文本信息,此处也可以用来做定位用
如下html页面代码:
<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset=’UTF-8′>
<title> 陕西区域划分(只包括部分)</title>
</head>
<body>
<div name=”区域划分”>
<a id = “gaoxin_123_gao”>高新区</a>
<a id = “beilin_234_bei”>碑林区</a>
<a id = “weiyang_456_wei”>未央区</a>
<a id = “changan_567_chang”>长安区</a>
</div>
</body>
</html>
以上html代码可以看出,区县信息的id前后部分是固定的,但中间部分数字是随机的,这个时候可以通过xpath模糊定位方法进行元素定位。
1、通过starts-with定位
//*[starts-with(@id,‘gaoxin’)]
2、通过ends-with定位
//*[ends-with(@id,‘gao’)]
3、通过contains定位
//*[contains(@id,‘gao’)]
4、通过显示的文本进行定位
//a[text()=‘高新区’]
//a[contains(text(),‘高新区’)]