从webelement列表中删除逗号和分号

时间:2015-10-21 03:50:53

标签: java selenium collections selenium-webdriver jbehave

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]

1 个答案:

答案 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); 
    }
}

如果要删除多种类型的符号,或者例如,如果只想在字符串末尾删除分号,则应使用正则表达式。