首页 > 解决方案 > 一旦找到预期的元素,如何打破量角器中的 .all().each() 循环?

问题描述

我有表中存在的值列表(一个列表)。我想检查此表中是否存在XXX值。例如,值列表如下:

美国广播公司

二维码

XXX

XYZ

LMN

我可以使用.all().each()量角器中的循环来执行此操作,如下所示:

element.all(by.className('table_values')).each(function(value){
    console.log(value)
    if(value == 'XXX'){
        console.log('Element found')
    }
});

基于上面的代码片段,我有两个问题:

  1. 即使在位置 3 找到XXX后,它也会迭代剩余的 2 个值。找到值后如何立即停止循环?我尝试使用break语句,但它给了我Illegal break statement错误。

  2. 如果XXX不存在,我如何返回false ?

标签: protractor

解决方案


Array.some 应该可以帮助你。它检查至少一个满足条件。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some

如果 false 没有元素满足条件,则返回。


推荐阅读