在做自动化测试时,我们需要定位元素属性来进行操作,今天在做自动化时发现我要定位的元素找不到,我看了下代码发现,要定位的元素(A)属性与另一个元素(B)属性一样,我用xpath获取绝对路径后,发现找不到,找的是B元素!

试了几次之后结果还是找不到,我把这两个元素单拿出来了,方便大家参考:
<div id="tab-first" class="el-tabs__item is-active" aria-controls="pane-first" role="tab" aria-selected="true" tabindex="0">A</div>
<div id="tab-first" class="el-tabs__item is-active" aria-controls="pane-first" role="tab" aria-selected="true" tabindex="0">B</div> 没错,上边这两个元素,除了文字信息A、B能区分出来,其他的都一模一样

这样的话别无选择了,没有frame没有层级关系,只能找能区分它俩的属性去定位了,不管是div还是span对应修改就可以了,代码如下:
driver.findElement(By.xpath("//div[text()=\"A\"]")).click();//点击A(如果是span,就把div改为span) 写上运行了N次,很靠谱,分享给有需要的朋友

本文介绍了一种通过文本内容定位相同属性元素的方法,在自动化测试中,当遇到两个元素具有完全相同的属性时,如何准确地选择其中一个进行操作。通过使用XPath结合元素内的文本信息,成功实现了对目标元素的精准定位。
1220

被折叠的 条评论
为什么被折叠?



