亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 Selenium 和 Java 定位具有相同類的元素

如何使用 Selenium 和 Java 定位具有相同類的元素

侃侃無極 2023-06-08 17:05:03
我無法為具有相同類的 BI 儀表板窗格找到合適的元素<a class="mi-title" deatta-no-in="inTitleShowed('folder')" daetta-ni-href="" data-ng-bind="navverTreeItemScope.listItem.title" style="" xpath="1">Staging - ALCDE</a>`它們看起來都像上面的元素,唯一改變的是儀表板名稱Staging - ALCDE
查看完整描述

3 回答

?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

正如您提到的,唯一改變的是儀表板名稱,即Staging - ALCDE,因此您必須為此引入WebDriverWaitelementToBeClickable(),并且您可以使用以下任一定位器策略:

  • linkText:

    new?WebDriverWait(driver,?20).until(ExpectedConditions.elementToBeClickable(By.linkText("Staging?-?ALCDE"))).click();
  • xpath:

    new?WebDriverWait(driver,?20).until(ExpectedConditions.elementToBeClickable(By.xpath("http://a[@class='mi-title'?and?text()='Staging?-?ALCDE'][starts-with(@data-ng-bind,?'navverTreeItemScope')]"))).click();



查看完整回答
反對 回復 2023-06-08
?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

你可以試試這個:

WebElement elmt = driver.findElement(By.xpath("(//*[@class='mi-title'])[1]"));

改為[1][2],如果有多個,這是元素的編號。


查看完整回答
反對 回復 2023-06-08
?
翻翻過去那場雪

TA貢獻2065條經驗 獲得超14個贊

您還可以使用此 xpath 來識別元素

driver.findelement(By.xpath("//*[@data-ng-bind='navverTreeItemScope.listItem.title']"))


查看完整回答
反對 回復 2023-06-08
  • 3 回答
  • 0 關注
  • 210 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號