首页 > 代码库 > Robot Framework XPATH元素的定位(如何获取一个动态或具体的元素)

Robot Framework XPATH元素的定位(如何获取一个动态或具体的元素)

前提部分(可略过):对于初学者来说,元素定位的方式相对直接、粗糙一点。比如,用鼠标放在一个字符上点击右键查看元素,或者先点击F12再查看元素,大多情况下这种方式都是可行的。而我们最需要关注的也是容易阻塞我们进度的,往往是那些不能直接使用鼠标右键定位的元素。其实都是xpath的元素定位问题,只是方式不一样。此时就要去构建元素的表达式或者说是从F12里提取一些元素进行组建,从而得出一个你可以用来操作的元素。比如:获取N个元素后,根据下标进行选取你要操作的元素,这时就要进行构建元素的表达式,而不能通过直接鼠标右键来获取元素了。

 

场景:

有这样一个添加话费面值功能,需要验证是否可以添加一批不同的面值并验证添加的面值是否正确、是否可以删除。

分析:

添加的面值肯定不能直接通过鼠标右键来获取它的元素,因为这些面值数量不是固定的、也是不同的。

获取元素的方法(需要获取“500元”元素):

1、代码如下:

<div id="tt">...

...

...

<span class=‘tabs-title‘>500元</span>

2、根据代码分析,“500元”是一个文本,此时应想到用“text”。

3、元素可以这样表达://span[text()=‘500元‘](注:前面不需要加上“xpath=”)

4、本来可以不需要第四步的,但考虑到页面上可能不止一个地方有“500元”这样的字符,所以最好是对第三步的元素表达式进行更多的补全,这样才能做得更精准的定位元素。

此时,元素可以这样表达://div[@id=‘tt‘]//span[text()=‘500元‘]

 

最后附上一位前辈关于XPATH元素定位的详细解析的文章--(http://www.cnblogs.com/xxyBlogs/p/4244073.html)

我之所以写得这么详细而不是直接提供前辈的文章,主要是为初学者或基础不是很好的读者提供参考。

 

Robot Framework XPATH元素的定位(如何获取一个动态或具体的元素)