gpt4 book ai didi

Java Webdriver HashMap 元素数组

转载 作者:行者123 更新时间:2023-12-01 09:55:57 26 4
gpt4 key购买 nike

String name = "";
String width = "";
String height = "";



List<WebElement> imageName = driver.findElements(By.cssSelector("div.card-arago div.hover-info div.name"));
List<HashMap> imageInfo = new ArrayList<HashMap>();
HashMap<String, String> attributes = new HashMap<String, String>();
imageInfo.add(attributes);
for (WebElement image : imageName) {
attributes.put("name",image.getText());
}
List<WebElement> images = driver.findElements(By.cssSelector("div.card-arago a img"));
for (WebElement image : images) {
attributes.put("width", image.getAttribute("width"));
attributes.put("height", image.getAttribute("height"));

}

我尝试返回页面中的所有图像,但它只返回页面上的最后一张图像卡?

最佳答案

HashMap 的每个键只能存储一个值。如果您使用同一键多次调用 put,则每次调用都会覆盖前一个调用。您在循环中多次调用 attributes.put("name", ...) ,因此附加到键“name”的值会被一遍又一遍地替换,并在结束时被替换循环只留下最后一张图像。如果您确实希望返回所有图像,则每个图像都需要唯一的键,或者每个图像需要一个完全独立的 HashMap,具体取决于您想要如何构建它。

编辑:仔细查看代码后,看起来您确实需要一个 HashMap 列表。但是您只能将一个 HashMap 添加到该列表中。相反,您可以更改第一个循环,为每个图像添加一个新的 HashMap。

关于Java Webdriver HashMap 元素数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37218336/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com