【发布时间】:2019-12-03 22:24:57
【问题描述】:
我正在尝试过滤列表并单击正确的文本。
列表大小为 2,如下所示:
<ul>
<li><span>first</span></li>
<li><span>second</span></li>
</ul>
由于某种原因,我的代码将返回整个 UL 而不是单个条目,并且不会遍历内部元素。
public void clickRightThing(String name) {
List<WebElement> list = driver.findElements(By.className("ul-classname"));
String returnedName;
for (WebElement row : list) {
returnedName = row.getText();
System.out.println(returnedName);
System.out.println(returnedName.length());
if (returnedName.equals(name)) {
row.click();
return;
}
}
}
运行 clickRightThing("first)" 将仅在一次循环中打印出行的名称,大小为 11,即第一个 + 第二个的长度,最后是列表 1 的大小。它永远不会进入 if 语句因为返回的字符串是两行而不是第一行。
first
second
11
1
【问题讨论】:
标签: java html list selenium html-lists