java - 从网络元素列表中删除逗号和分号

标签 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:, , ]

我不熟悉 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/

相关文章:

java - 如何创建一个位于 android 项目之外的 java 包

java - 试图重新查询一个已经关闭的游标 - 如何找到这个已经关闭的游标?

java - RxJava - 有什么方法可以结合 scan 和 flatMap 吗?

java - 在新选项卡中进行下载时,如何在 Selenium (Java) 中 headless (headless)下载文件?

使用泛型类型或接口(interface)的 C# 集合

java - Android:如何告诉我的 Activity 从我的服务启动新 Activity ?

javascript - Selenium webdriver 如何使用 ng-click ="upload(' 文件上传文件')”

javascript - 无法将 For 循环与 Promise 一起使用

java - 包含对列表

在 ArrayList 中插入时出现 java.util.ConcurrentModificationException