获取WebElement文本以构建字符串

时间:2015-09-14 15:14:19

标签: java string

我想使用StringWebElements抓取的文字构建WebDriver

public String getTextFromWebElements() {
    String stringOne= null;
    List<WebElement> listOfWebElements = driver.findElements(By.cssSelector(".events-stuff-morestuff"));
    for (WebElement we : listOfWebElements) {
        stringOne= we.getText();
    }
    return stringOne;
}

我希望stringOne构建一个String,其中包含WebElements中所有文本的连接列表,而不是循环中的最后一个(就像当前一样)。然后我会在调用此方法的代码中将它们拆分出来,这样我就可以针对来自Assertion的数据执行API

1 个答案:

答案 0 :(得分:-1)

  1. 您有问题是每次迭代都覆盖stringOne值:stringOne= we.getText();
  2. Never concatenate a String inside a loop in Java, for this use StringBuilder
  3. 我使用char COMMA ','作为数据的SEPARATOR,但你可以使用任何只是在循环内替换它。请注意,您必须使用空值初始化char:char SEPARATOR = '\0';
  4. public String getTextFromWebElements() {
            StringBuilder stringOne = new StringBuilder();
            List<WebElement> listOfWebElements = driver.findElements(By.cssSelector(".events-stuff-morestuff"));
            char SEPARATOR = '\0';
            for (WebElement we : listOfWebElements) {
                stringOne.append(SEPARATOR);              
                stringOne.append(we.getText());
                SEPARATOR = ',';
        }
        return stringOne.toString();
    }