请有人帮助以下案例: 也就是说,必须从列表中拾取一个国家,并且一个联盟形成第二个列表。 尝试使用AND功能,但在Selenium中,它会将错误视为不存在的元素,而将其作为两个单独的列表发现,如下所示
国家名单:
List<WebElement> chosenCountry = driver.findElements(By.xpath("//body//be-list[contains(@class, 'ng-star-inserted')]/ul//li/div/span/h4/img"));
for (int i = 0; i < chosenCountry.size(); i++) {
// System.out.println(chosenCountry.get(i).getAttribute("title"));
String country = chosenCountry.get(i).getAttribute("title");
}
看起来像:
Argentina
Brazil
Chile
Colombia
England
India
International
Iran
Jamaica
Kuwait
Mexico
Scotland
联赛名单:
List<WebElement> chosenLeague = driver.findElements(By.xpath("//body//be-list[contains(@class, 'ng-star-inserted')]/ul//li/div/span"));
for (int k = 0; k < chosenLeague.size(); k++) {
// System.out.println(chosenLeague.get(k).getText());
String league = chosenLeague.get(k).getText();
}
看起来像:
Primera B Metropolitana
Primera C
Superliga
Paulista A2
State Leagues
Primera B
Primera Division
Championship
League 1
League 2
National League
请注意,这些数据是动态的,因此从 get(i)中拾取所需的元素毫无用处。
尝试使用if子句但没有成功:
if ( chosenCountry.get(i).getAttribute("title").equals("England)||chosenLeague.get(k).getText().equals("Championship") {
它抛出错误而不给我任何选择。 我哪里弄错了? 提前谢谢
答案 0 :(得分:1)
你错过了if语句中的引文。
这样:
if ( chosenCountry.get(i).getAttribute("title").equals("England)||chosenLeague.get(k).getText().equals("Championship") {
应如下所示:
if ( chosenCountry.get(i).getAttribute("title").equals("England")||chosenLeague.get(k).getText().equals("Championship") {