public List<String> pageLabelApp() {
List<WebElement> lableList = getDriver().findElements(By.cssSelector("#Factors label"));
List<String> labelOne = new ArrayList<String>();
for (WebElement temp : lableList) {
labelOne.add(temp.getText());
}
System.out.println("Labels:" + labelOne);
return labelOne;
}
输出:
Labels:[Rate:, , , Method:, , ]
我不熟悉 Web 自动化和使用 selenium + jbehave
从上面的输出中我需要删除逗号和冒号,有人可以帮我解决这个问题吗?
我的预期输出是
Labels:[Rate, Method]
最佳答案
说到逗号,它们出现在输出中是因为您向列表中添加了空字符串。您可以通过使用 isEmpty()
方法检查空字符串来避免这种情况:
for (WebElement temp : lableList) {
String text = temp.getText().trim(); // trim() removes leading and trailing whitespaces
if (!str.isEmpty())
{
labelOne.add(text);
}
}
关于分号(如果只有分号打扰您),您可以轻松使用.replaceAll()
方法:
for (WebElement temp : lableList) {
String text = temp.getText().trim().replaceAll(":", "");
if (!str.isEmpty())
{
labelOne.add(text);
}
}
如果要删除的符号类型很多,或者,例如,如果您只想删除字符串末尾的分号,那么您应该使用正则表达式。
关于java - 从网络元素列表中删除逗号和分号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33250622/