如何在List <webelement>中找到元素(尽快)

时间:2018-08-07 13:09:51

标签: java selenium selenium-webdriver

你能帮我吗?

我有一个列表,其大小约为200个元素。我的代码大约需要10秒钟才能找到正确的元素(如果放置在列表的末尾)。我正在寻找一种更快的方法来找到它。在此先感谢(如果我在英语上犯了粗鲁的错误,对不起)

for (int i = 0; i < ToRecObj.List.size(); i++) {            
        WebElement iter = ToRecObj.List.get(i);
        iter.click();
        String iterValue = iter.getText().trim();
        if (iterValue.equals(someStringForSearch)) {
            MainPage.SelectListField.click();
            break;
        }
    }

1 个答案:

答案 0 :(得分:0)

也许您正在寻找List.indexOf()。它返回元素首次出现的索引(如果存在重复项) 如您所未描述的那样,容器应该做什么以及类是什么,我只能猜测您想做什么: 您要在所有WebElement中搜索特定的Serch字符串。
使用Java 8,您可以做到:

if(ToRecObj.List.stream().anyMatch(we -> we.getText().trim().equals(someStringForSearch)) {
   MainPage.SelectListField.click();
}

如果您的搜索字符串不止一个,则使用anyMatch()也会返回true。