版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/MenofGod/article/details/80310228
在做自动化测试时,我们需要定位元素属性来进行操作,今天在做自动化时发现我要定位的元素找不到,我看了下代码发现,要定位的元素(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次,很靠谱,分享给有需要的朋友