【问题标题】:How can we get index of a WebElement (from a list) passed in a function?我们如何获取传入函数的 WebElement(来自列表)的索引?
【发布时间】:2022-12-18 06:51:19
【问题描述】:
List<WebElement> deleteBtn = driver.findElements(By.xpath("//div[@class='btn']//div[@class='deleteUsers']"));

public void clickDeleteBtn(WebElement element) {
    element.click();
    /* Here I want to retrieve the index of the element passed in the function */
}

main() {
    clickDeleteBtn(deleteBtn.get(5));
}

假设上面的 findElements() 给了我一个列表10 个网络元素我通过元素索引 5在 clickDeleteBtn() 中。在函数中,如何获取传入元素的索引?

我努力了元素.toString()但它只给我: 元素:[[ChromeDriver: chrome on WINDOWS (f4f6be3ed1e2a964a2dc8f0d848d3e87)] -> xpath: //div[@class='btn']//div[@class='deleteUsers']] 没有关于建议的元素索引的信息。

非常感谢您的建议!谢谢

【问题讨论】:

    标签: java selenium


    【解决方案1】:

    WebElement 本身并不知道他在你存储它的列表中的索引。
    了解给定 WebElement 对象索引的唯一方法是遍历元素列表并将给定 WebElement 与列表中的当前 WebElement 进行比较,如下所示:

    WebElement element = unknownWebElement;
    List<WebElement> list = entireListOfWebElements;
    for(int i=0;i<list.size();i++){
        if(element = list.get(i)){
            return i;
        }
        return -1;
    }
    

    【讨论】:

      猜你喜欢
      • 2015-09-04
      • 2016-04-28
      • 1970-01-01
      • 2017-07-25
      • 2020-05-07
      • 1970-01-01
      • 2023-01-27
      • 2021-08-16
      • 1970-01-01
      相关资源
      最近更新 更多