Javascript 比较元素的属性 var DrpStack=browser.findElement(by.xpath(xpath)) var Elems=DrpStack.findElements(按.tagName(标记名)) 元素then(函数(列表){ 对于(变量i=0;i
这里我检查'aria pressed'的属性是真是假。如果为true,则该元素被推送到数组中,否则它应该打印false。Javascript 比较元素的属性 var DrpStack=browser.findElement(by.xpath(xpath)) var Elems=DrpStack.findElements(按.tagName(标记名)) 元素then(函数(列表){ 对于(变量i=0;i,javascript,arrays,protractor,Javascript,Arrays,Protractor,这里我检查'aria pressed'的属性是真是假。如果为true,则该元素被推送到数组中,否则它应该打印false。 它不工作,日志总是打印失败。我做错了什么。请提供帮助。方法getAttribute返回承诺。因此,您首先需要解析它以获得值 在您的情况下,您可以使用promise.filter过滤属性: var DrpStack = browser.findElement(by.xpath(XPath)) var Elems = DrpStack.findEleme
它不工作,日志总是打印失败。我做错了什么。请提供帮助。方法
getAttribute
返回承诺。因此,您首先需要解析它以获得值
在您的情况下,您可以使用promise.filter
过滤属性:
var DrpStack = browser.findElement(by.xpath(XPath))
var Elems = DrpStack.findElements(by.tagName(TagName))
Elems.then(function(list){
for (var i = 0; i < list.length; i++) {
if (list[i].getAttribute("aria-pressed")=='true') {
Labl1.list[i].getAttribute("onlabel");
} else {
console.log("FAIL");
}
}
Q.all(Labl1).done(function (result) {
// Q.All will print the results when the lookups and processing are done
console.log(result.length);
console.log(result);
});
});
var filter = protractor.promise.filter;
filter(browser.findElements(...), (elem, i) => {
return elem.getAttribute("aria-pressed").then(attr => {
if(attr === "true") return true;
console.log(`failed attribute at index {i}`);
});
}).then(results => {
console.log("elements with attribute:", results);
});