我正在尝试获取具有btn btn-ok
类的元素的数量,然后遍历每个元素。
element.all(by.css('.btn.btn-ok')).count()
.then(function(count) {
for (var i = 0; i < count; i++) {
element.all(by.css(".btn.btn-ok")).get(i).click(); // <-- error!
element(by.css(".icon-issue-in-active-dropdown")).click();
element(by.css(".icon-check-round")).click();
}
});
但是我收到一条错误,指出无法联系到该行
答案 0 :(得分:0)
使用eq
代替get
,前者为您提供jQuery / jqLite对象而不是DOM元素。并使用trigger
(在angular的jqLite中称为triggerHandler
)。
element.all(by.css('.btn.btn-ok')).count()
.then(function(count) {
for(var i = 0; i < count; i++) {
element.all(by.css(".btn.btn-ok")).eq(i).triggerHandler("click")
element(by.css(".icon-issue-in-active-dropdown")).triggerHandler("click");
element(by.css(".icon-check-round")).triggerHandler("click");
}
});
阅读评论,但澄清angular.element
调用jQuery(如果包含它),否则它使用称为jqLite
的调低版本。 Here is more detail about this