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

时间:2018-03-02 10:12:14

标签: java selenium-webdriver

以下是我提出的其他问题(问题链接为: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列表中的需要 结果是永远不会找到所需的Array成员。 提前谢谢

1 个答案:

答案 0 :(得分:1)

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

for (WebElement e : allAvailsbleMarkets)
    for (String txt : ordinaryTimeTranslations) {
        if(txt.equals(e.getText())) {
            // Match found
            break;
        }
}