简体   繁体   English

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

[英]How to convert a list of webelement to another list in the form of string?

my code is:我的代码是:

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());
}

my aim is to import all text formated webelement to lst1我的目标是将所有文本格式的 webelement 导入到 lst1

You can do something like this: 您可以执行以下操作:

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

First, you should create an instance of List<String> : 首先,您应该创建List<String>的实例:

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

Then just get an element ( lst.get(k).getText() ) from lst and add it to lst1 in the loop. 然后只需从lst获取一个元素( lst.get(k).getText() ),然后将其添加到lst1中的lst1中。

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

Or use the lovely way with Stream API: 或通过Stream API使用可爱的方式:

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

This is another way to do the same这是另一种方法

List<WebElement> lst=driver.findElements(By.tagName("a"));
List<String> strings = new ArrayList<>();
lst.forEach(variable -> strings.add(variable.getText()));

Arrow operator also rocks!箭头操作员也摇滚!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM