Reputation: 945
First element html code:
<div class="block ng-scope" ng-repeat="skills in data.primary_skills">
<div class="block skillsLineItem" ng-class="{manditorySkillsLineItem:skills.mandatory, skillsLineItem:!skills.mandatory}">
<label title="Testing" class="skill-name col-xs-5 text-overflow-ellipsis ng-binding" ng-click="toggleMandatory(skills)">
<!-- ngIf: skills.mandatory -->
<!-- ngIf: skills.userdefined -->
Testing
</label>
Second element Html code
<label title="Test Scripts" class="skill-name col-xs-5 text-overflow-ellipsis ng-binding" ng-click="toggleMandatory(skills)">
<!-- ngIf: skills.mandatory -->
<!-- ngIf: skills.userdefined -->
Test Scripts
</label>
In our application multiple elements having same class name and ng-click values so how can i click on multiple elements using same class or ng-click values. I have to click on both elements so please help me.
Upvotes: 1
Views: 5148
Reputation: 473873
You can find all of them and use each()
:
element.all(by.css("label[ng-click*=toggleMandatory]")).each(function (label) {
label.click();
});
You can use filter()
to filter out only necessary elements:
element.all(by.css("label[ng-click*=toggleMandatory]")).filter(function (label, index) {
return index <= 5;
}).each(function (label) {
label.click();
});
Upvotes: 3