我是node.js / protractor的新手,并希望选择下拉列表中的所有复选框。我的代码有效,但是其中两个具有相同文本的项目存在问题。选中后,将两者都选中。在我的代码中,我想跳过这两项,但是我的文本比较无法正常工作。
由于选择这些重复项之一会同时选中这两项,因此选择第二个将取消选中这两项。为简单起见,我只希望在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')行无法识别匹配项,因此进行选择(两次)。
答案 0 :(得分:0)
尝试使用
if(text !== 'FULFILLMENT')
或
if(!text.localeCompare('FULFILLMENT'))
告诉我们是否适合您