Я хочу получить элемент ng-repeatater своей меткой aria, но хочу щелкнуть соответствующий тег для этого элемента ретранслятора. Как я могу это сделать с помощью фильтра.Как вернуть индекс элемента с помощью фильтра Protractor с ng-повторителем
Web Page:
<workspace-group-handler ng-if="!inputCache.search" ng-repeat="group in groups" group="group" class=""><!---->
<!----><workspace-tile tabindex="0" aria-label="Test" edit-mode="$ctrl.editMode" workspace="$ctrl.group" ng-if="$ctrl.group.type === 'workspace' &&
<div class="tile" ng-class="{'selected-tile': isSelected}" ng-click="openWorkspace($ctrl.workspace); $ctrl.toggleSelected($ctrl.workspace)" ng-right-click="toggleDropdown($event)" aria-haspopup="true" dnd-draggable="$ctrl.workspace" dnd-dragstart="$ctrl.notifyDragstart()" dnd-dragend="$ctrl.notifyDragend()" role="button" tabindex="0" draggable="true">
<div class="ws-icon">
Я пытаюсь следующее:
this.AllWorkspace = element.all(by.repeater('group in groups'));
this.WSLabel = this.AllWorkspace.all(by.css('workspace-tile'));
this.WSIcon = this.AllWorkspace.all(by.css('div .ws-icon'));
WSLabel.filter(function(elem, index) {
return elem.getAttribute("aria-label").then(function(text) {
return text.toUppercase() === 'TEST', index; //want to return index and element both not sure how to do this
});
}).then(function(filteredElements, index) {
console.log("Workspace Name found click on it");
this.WSIcon.get(index).click();
});
Как я могу вернуть индекс элементов с помощью фильтра? На основе текстового совпадения я хочу получить индекс этого элемента и хочу использовать тот же самый индекс, чтобы щелкнуть по другому элементу.
В селекторе css должно быть пространство - «div .ws-icon». Вместо этого и индекс вы можете использовать .first(). Element ..... – Grasshopper
извините за опечатку в моем коде, но это не настоящая проблема, которую я пытаюсь решить, я модифицирую свой вопрос, пожалуйста, бросьте его еще раз. – ssharma