1. 程式人生 > >selenium如何定位屬性一樣的div、span元素

selenium如何定位屬性一樣的div、span元素

在做自動化測試時,我們需要定位元素屬性來進行操作,今天在做自動化時發現我要定位的元素找不到,我看了下程式碼發現,要定位的元素(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次,很靠譜,分享給有需要的朋友