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

标签 java selenium xpath webdriverwait xpath-1.0

我无法找到具有相同类的 BI 仪表板 Pane 的正确元素

<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

最佳答案

正如您提到的,唯一改变的是仪表板名称,即Staging - ALCDE,因此您必须为 elementToBeClickable() 引入WebDriverWait,并且您可以使用以下任一 Locator Strategies :

  • 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();
    

关于java - 如何使用 Selenium 和 Java 定位具有相同类的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57518912/

相关文章:

javascript - 元素当前不可见,因此可能无法与 Firefox 和 Python 交互

python - 从给定内容开始的 HTML 表格单元格内容的 XPath

python - Scrapy 循环 - xpath 选择器转义它所应用的对象并返回所有记录?

java - 如何在 java 中运行 saxon xslt 转换

java - FileNotFoundException : class path resource ***/GlobalAuthenticationConfigurerAdapter. 类] 无法打开,因为它不存在

selenium - 如何使用Selenium2Library使用Robot Framework计算表中td/tr的数量

python - 为什么我在 pandas 列中只得到一项(而不是多项)?

python-3.x - 尝试遍历 text() 节点以找到它们的父节点

java - Google Places API photo_reference

java - Facebook Android SDK 的 key 哈希