如何使用Java和Selenium在文本的基础上获取元素索引



所以网页上有一个链接表,我需要元素索引。我知道链接的名称。我尝试了selenium.getElementIndex().intValue()命令,希望得到一个整数索引
但是getElementIndex()函数需要一个字符串定位器作为参数。不确定要传递什么,因为我所拥有的关于该元素的唯一信息是它的名称。此外,getElementIndex()会返回什么样的值?

此代码将返回元素相对于其父元素的索引。只有具有相同标签的兄弟姐妹才会被计算为

int getElementIndex(WebElement element) {
    WebElement parent = element.findElement(By.xpath(".."));
    List<WebElement> siblings = parent.findElements(By.xpath("./" + element.getTagName()));
    int i=0;
    for (WebElement sibling : siblings) {
        if (element.equals(sibling)) {
            return i;
        } else {
            i++;
        }
    }
    throw new NotFoundException(); // Should never happen
}

这是Selenium.getElementIndex()的javadoc。

它将返回一个Number,这是所选元素的索引,并获取一个String locator,用于在HTML页面上定位您感兴趣的元素,可以是多种内容,例如:-

  • 元素的id
  • 一些xPath
  • 等等

更多详细信息请点击此处。

最新更新