下面是另一个问题,我提出了(问题链接是: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成员。先感谢您
你只需要在第一个循环中添加另一个循环:
for (WebElement e : allAvailsbleMarkets)
for (String txt : ordinaryTimeTranslations) {
if(txt.equals(e.getText())) {
// Match found
break;
}
}