如何以字符串的形式将webelement列表转换为另一个列表?

时间:2016-04-27 10:13:19

标签: java list selenium selenium-webdriver

我的代码是:

public static void main(String[] args) {
    WebDriver d=new FirefoxDriver();
    d.get("https://bbc.com");   
    List<WebElement> lst=d.findElements(By.tagName("a"));   
    for(int k=0;k<=lst.size();k++)
        List<String> lst1=lst.add(get(k).getText());
}

我的目标是将所有格式化的webelement导入到lst1

2 个答案:

答案 0 :(得分:3)

您可以这样做:

List<WebElement> lst=d.findElements(By.tagName("a"));
List<String> strings = new ArrayList<String>();
for(WebElement e : lst){
    strings.add(e.getText());
}

答案 1 :(得分:1)

首先,您应该创建List<String>的实例:

List<String> lst1 = new ArrayList<>();

然后从lst.get(k).getText()获取一个元素(lst)并将其添加到循环中的lst1

for(int i = 0; i < lst.size(); ++i) lst1.add(lst.get(i).getText());

或者使用Stream API的可爱方式:

lst.stream().map(WebElement::getText).forEach(lst1::add);