gpt4 book ai didi

java - 字符串数组方法不返回数组对象 - Selenium WebDriver

转载 作者:行者123 更新时间:2023-11-29 05:45:52 26 4
gpt4 key购买 nike

请找到我的代码,它不返回数组对象值,它只返回一个数组对象

public String[] verify_userRole(String[] Expected_role) {
String[] actual_role = new String[4];
String first;
WebElement role_table = driver.findElement(By
.xpath("//*[@id='tblListView']/tbody[1]"));
List<WebElement> allRows = role_table.findElements(By.tagName("tr"));

for (WebElement row : allRows) {
List<WebElement> cells = row.findElements(By.tagName("td"));

for (WebElement cell : cells) {
first = cell.getText().toString();
actual_role = new String[] {first};

}
}
return actual_role;
}

变量首先包含四个值(“name”,“name1”,“name2”,“name3”)将此字符串值转换为数组 (actual_role) 后,它只返回一个值 ("name")

请说明上面代码的问题是什么

最佳答案

您在循环中的每一步都重新初始化字符串数组。

你应该只做一次。

   ArrayList<String> actual_role = new ArrayList<String>( )
for (WebElement row : allRows) {
List<WebElement> cells = row.findElements(By.tagName("td"));

for (WebElement cell : cells) {
first = cell.getText().toString();
actual_role.add(first);

}
}

return (String[]) actual_role.toArray( new String[ actual_role.size() ] );

顺便说一句,我已经将您的示例转换为使用中间 ArrayList,因为您不知道实际数据大小,而且动态重新初始化数组很容易出错。

如果您正在实现的方法的签名不是由外部框架指定的,我建议您使用 List<String>作为返回类型而不是 String[] .

关于java - 字符串数组方法不返回数组对象 - Selenium WebDriver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15877835/

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