问题描述
我创建了一个在Web元素列表上运行的方法,并返回列表中期望值的索引。 该方法使用预期值评估get属性值。 它运行正常,但是一直运行到列表末尾。唯一的选择就是打破循环,进入打破;在index =迭代器之后
public Integer indexInList(String expectedValue,List<WebElement> dropdownoptions,String attributeValue) throws Exception {
Integer index = -1; // -1 meanning not found in list
int iterator = 0; // run on the list
for (WebElement element : dropdownoptions )
{
if(element.getAttribute(attributeValue).equals(expectedValue))
{
index = iterator;
}
iterator ++;
}
return index;
}
解决方法
是的,您需要在index = iterator行之后输入break
,在for
循环找到所需元素时返回迭代器:
public Integer indexInList(String expectedValue,List<WebElement> dropdownOptions,String attributeValue) throws Exception {
int iterator = 0; // run on the list
for (WebElement element : dropdownOptions )
{
if(element.getAttribute(attributeValue).equals(expectedValue))
{
return iterator;
}
iterator ++;
}
return -1; // -1 meanning not found in list
}
以上是对代码的略微修改。您不需要index
变量,可以在iterator
上进行操作。
找到所需元素后返回iterator
,它将停止for
循环。
如果没有一个元素满足条件,则返回-1
否。
除了“在索引=迭代器之后输入break;
外,您还可以使用return index;
在同一位置替换语句break;
。