![](/img/trans.png)
[英]Setting up similar weblements using a list<webelement> in selenium
[英]Java | Selenium | Using Stream to return single Webelement from a list of weblements
我正在尝试通过元素的innerText将一个webelements列表过滤到单个webelement。 在C#中,我将使用linq where子句。 在Java中,我尝试使用流,但无法弄清楚为什么出现不兼容的类型错误(必需:org.openQA.selenium.Webelement。找到:java.util.optional)
public List <WebElement> emp = driver.findElements(By.className("employee"));
public String correctName = driver.findElement(By.id("name")).getText();
public WebElement getName(){
WebElement correct = emp.stream().filter((element) -> element.getText().contains(correctName)).findFirst();
return correct;
}
该错误是公平的。 findFirst
返回Optional
。 您必须像这样显式地获取对象。
WebElement correct = emp.stream().filter((element) -> element.getText().contains(correctName)).findFirst().orElse(null);
因此,如果Optional
不为空,它将返回该值,否则将返回null
。 请注意,不建议您在Optional
上使用get
,它会在以后被弃用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.