2016-02-02 44 views
1

我試圖選擇https://www.angularjs.org/上的所有todo。但它只是改變了第一個。如何選擇的所有元素:量角器ng-repeat

element.all(by.repeater('todo in todoList.todos')).then(function(rows) { 
    for (var i = 0; i < rows.length; ++i) {     
     element.all(by.repeater('todo in todoList.todos')).get(i).element(by.model('todo.done')).click(); 
    } 
}); 

回答

2

您需要.each()

var todos = element.all(by.repeater('todo in todoList.todos')); 
todos.each(function(todo) { 
    todo.element(by.model('todo.done')).click(); 

    browser.sleep(1000); // hardcoded delay 
}); 
+0

嘗試了......它仍然沒有檢查第二個複選框 –

+0

添加睡眠(1000)幫助檢查兩個框。 –

+0

@mac_new好的,適當地更新了答案。謝謝。 – alecxe

0
var todos = element.all(by.repeater('todo in todoList.todos')); 
todos.get(1).click(); 
todos.get(2).click(); 

element.all將收集givent定位的所有元素和get()將選擇元素特定元素。 它像數組一樣工作。