我们正在从量角器迁移到使用SeleniumWebdriver for Node.js:https://www.npmjs.com/package/selenium-webdriver
使用Protractor for AngularJS,我们可以:
element.all(by.repeater('r in roles')).first().element(by.css('.update-role')).click();
我试图找出使用require('selenium-webdriver')
的等效调用可能是什么样的,有人有想法吗?
具体来说,by.repeater()
电话,是我不知道的等价物。
这很简单。你需要找到所有元素,并将它们视为相似的元素。
element.all(by.css('[ng-repeat="r in roles"]')).then(function(eachRepeat){
for(var i=0;i<eachRepeat.length; i++){
// do something else with the repeat. where eachRepeat[0] is the first element
console.log(eachRepeat[i]);
}
});
您还可以为元素编号添加条件。或元素的文本。
element.all(by.css('[ng-repeat="r in roles"]')).getText().then(function(eachRepeat){
for(var i=0;i<eachRepeat.length; i++){
console.log(eachRepeat[i]);
if(eachRepeat[i] === 'someSpecificText'){
eachRepeat[i].click();
}else{
console.log('error');
}
}
});
如果您对此有任何疑问,请与我们联系。