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(),‘高新区’)]