我有一个包含一组过滤器的屏幕,当按下特定键时会显示这些过滤器。我需要自动选择这些过滤器。
每个过滤器都有一个 Xpath,它指向一个包含文本的 html 元素。我尝试了以下方法:
private List<WebElement> elements;
public void reloadFilters() {
String FilterXPath = this.FILTER_ITEM_XPATH;
elements = webDriver.findElements(By.xpath(FilterXPath));
}
进而
public void selectFilter(String filter) {
WebElement W;
Iterator I = elements.iterator();
if (I.hasNext()) {
W = (WebElement)I;
if (W.getText().equals(filter)) {
new Actions(webDriver).moveToElement(W).perform();
}
}
}
但是当我运行这段代码时,我得到:
java.lang.ClassCastException: java.util.ArrayList$Itr cannot be cast to org.openqa.selenium.WebElement
关于如何执行此操作的任何建议?