【发布时间】:2020-01-05 23:53:37
【问题描述】:
我的列名称为 Id 、名称、描述和金额,每行都有复选框。如果我选中复选框,则应汇总相应的金额并显示总值。网络表格上方还有 Received-Amount 文本框,Received-Amount 的值应从网络表格计算的金额中减去。
我已尝试阅读列表(Web 元素)中的复选框,但无法计算金额的总和。
List<WebElement> elements=driver.findElements(By.xpath("//*[@id=\"tableParent\"]/table/tbody/tr[1]/td[1]/span/input"));
int rowsize=elements.size();
int sum = 0;
List<Integer> values = new ArrayList<Integer>();
Boolean ischecked;
for(int i=1; i< rowsize; i++){
ischecked = driver.findElement(By.xpath("//table//tr[i]//input")).isSelected();
if(ischecked)
{
WebElement tdtext = driver.findElement(By.xpath("//table//tr[i]//td[6])).getAttribute(\"value\")"));
String str = tdtext.toString();
values.add(Integer.parseInt(str));
//values.add(Integer.parseInt(driver.findElement(By.xpath("//table//tr[i]//td[6])).getText()"))));
}
}
for (int i: values) {
sum += i;
}
System.out.println("Sum: " + sum);
String expectedVal = driver.findElement(By.id("AVC")).getAttribute("value");
System.out.println("ExpectedVal: " + expectedVal);
【问题讨论】:
-
您确定下面会返回 webelements 列表吗?对我来说看起来像一个单一的元素。 List
元素=driver.findElements(By.xpath("//*[@id=\"tableParent\"]/table/tbody/tr[1]/td[1]/span/input"));
标签: java selenium-webdriver pom.xml