无法将Webelement List中的一个元素与Array列表元素匹配

问题描述 投票:0回答:1

下面是另一个问题,我提出了(问题链接是:Webelement List and choose only one)有人可以协助我遇到的情况:我有以下WebElements列表:

Double Chance (Ordinary Time)
1X2 (Ordinary Time)
12 (Full Event)
Odd/Even (Full Event)
Over / Under (Full Time)
Odd/Even (Ordinary Time)
Halftime / Fulltime (Ordinary Time)
Over Under (Ordinary Time)
Double Chance (1st Half)
1X2 (1st Half)

在@ f1sh的帮助下找到了确切的元素(并且我需要从上面的列表中只有一个,即1X2(普通时间))

List<WebElement> allAvailsbleMarkets = driver.findElements(By.xpath("//main[@class='be-root__main']/be-match2/be-single-view-layout/div[3]\n"
                        + "//be-markets-page2/div/div/ul/li//be-outcomes2//h4"));

for(WebElement e:allAvailsbleMarkets){
if("1X2 (Ordinary Time)".equals(e.getText())){
 //go to that element

 //an element has been found, so stop the checking loop:
 break;
  }
}

但是,现在我忘了我有几种语言并创建了数组列表如下:

 public static List<String> ordinaryTimeTranslations = Arrays.asList(
        "1X2 (Ordinary Time)",
        "1X2 (Regularno vreme)",
        "1X2 (Ordinær Spilletid)",
        "1X2 (Reguläre Zeit)"
}

所以,我的问题是如何(并且卡在那里)拾取形式数组列表完全匹配(在上面的例子中它是英文版)。尝试使用上面的代码但它与我的List Webelement不匹配数组列表中的结果结果是从未找到所需的Array成员。先感谢您

java selenium-webdriver
1个回答
1
投票

你只需要在第一个循环中添加另一个循环:

for (WebElement e : allAvailsbleMarkets)
    for (String txt : ordinaryTimeTranslations) {
        if(txt.equals(e.getText())) {
            // Match found
            break;
        }
}
© www.soinside.com 2019 - 2024. All rights reserved.