下面是我的一些缩短的
HTML,并尝试了一些量角器代码.
我正在尝试做的是点击一个i元素.我希望能够根据ID是什么来进行点击,这是一个兄弟元素.
以下代码不起作用.我也试过在过滤器中做一个过滤器,我尝试的一切都会导致错误.有人可以帮忙吗?我尝试这个尝试的错误是“无法读取未定义的属性元素.
有人可以帮忙吗?到目前为止,我已经花了很多时间!
谢谢.
element.all(by.repeater('data in ctrl.data')).filter(function(elem){ return elem.element(by.css('div.case-info span')).getText() == id }).then(function(filteredElements){ filteredElements.first().element(by.css('i.fa')).click(); }); <div ng-repeater="data in ctrl.data"> <div class="case-info"> <span>AN ID HERE</span> <div>Other stuff here thats not really relevant</div> </div> <i class="fa fa-red"></i> </div>
解决方法
在上面两个答案的帮助下,这最终对我有用…
element.all(by.repeater('data in ctrl.data')).filter(function(elem){ return elem.element(by.css('div.case-info span')).getText().then(function(text){ return text === id; }); }).first().element(by.css('i.fa')).click();
谢谢你的帮助.