我创建了一个在web元素列表上运行的方法,并返回列表中期望值的索引。该方法使用期望值来评估get属性值。它工作正常,但它一直运行到列表的末尾。是唯一的选项是中断循环是进入中断;索引之后=迭代器
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;
}
是的,您需要在行索引=迭代器之后输入break
否。
除了";在index=迭代器之后输入CCD_ 1";,您可以使用return index;
来替换相同位置的语句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