我无法为具有相同类的 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("//a[@class='mi-title' and text()='Staging - ALCDE'][starts-with(@data-ng-bind, 'navverTreeItemScope')]"))).click();
慕姐4208626
TA贡献1852条经验 获得超7个赞
你可以试试这个:
WebElement elmt = driver.findElement(By.xpath("(//*[@class='mi-title'])[1]"));
改为[1]
等[2]
,如果有多个,这是元素的编号。
翻翻过去那场雪
TA贡献2065条经验 获得超14个赞
您还可以使用此 xpath 来识别元素
driver.findelement(By.xpath("//*[@data-ng-bind='navverTreeItemScope.listItem.title']"))
添加回答
举报
0/150
提交
取消