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:, , ]
我是网络自动化新手,使用selenium + jbehave
从上面的输出我需要消除逗号和冒号,有人可以帮我吗?
我的预期输出是
Labels:[Rate, Method]
答案 0 :(得分:3)
说到逗号,它们处于输出状态,因为您已将空字符串添加到列表中。您可以使用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);
}
}
如果要删除多种类型的符号,或者例如,如果只想在字符串末尾删除分号,则应使用正则表达式。