Я новичок в node.js / protractor и хочу выбрать все флажки в раскрывающемся списке. Мой код работает, но есть проблема с 2 из элементов, которые имеют одинаковый текст. Когда выбрано, оба проверяются. В моем коде я хочу пропустить эти 2 элемента, но сравнение текста не работает.
Поскольку при выборе одного из этих дублирующих элементов проверяются оба, при выборе второго отменяется выбор обоих. Для простоты я предпочел бы просто пропустить их, когда они найдены в цикле forEach.
element.all(by.xpath('//*[@id="work-bench"]/div[1]/div[1]/div/div[5]/div/div[3]/ul')).all(by.className('checkbox')).then(function(totalDCs) {
console.log('DCs in Dropdown List ' + (totalDCs.length));
DCCount = totalDCs.length;
});
element.all(by.className('multiselect__element')).then(function(options) {
var i = 0;
var j = 1;
options.forEach(function(option) {
option.getText().then(function(text) {
console.log(text + ' was selected');
i++;
if(text != 'FULFILLMENT') {
option.click();
if(DCCount-j == i) {
return DCCount;
}
}
else {
j++;
console.log('j equals ' + j);
}
});
});
});
Строка if (text! = 'FULFILLMENT') не распознает совпадение и, таким образом, выполняет выбор (дважды).