我正在尝试获取我的 DOM 中的元素并将它们作为数组返回。它们是嵌套的。我想让 Protractor 返回这样的东西:
{
category_title: "cat1",
items: {item_title: "item1"}, {item_title: "item2"}
},
{
category_title: "cat2",
items: {item_title: "item1"}, {item_title: "item2"}
}
DOM:
<div ng-repeat="category in categories">
<div id="category-title">{{ category.title }} </div>
<div ng-repeat="item in category.items">
<div id="item-title">{{ item.title }} </div>
</div>
</div>
这就是我在 Protractor 中尝试的:
return element.all(by.repeater("category in categories")).map(function(elm) {
var category_title = elm.element(by.id('category-title')).getText(),
var t = {
category_title: category_title,
dimensions: {}
};
// After this part, I'm lost...
return elm.all(by.repeater("item in category.items")).map(function(elm) {
return {
category_title: category_title,
dimension: elm.element(by.id('item-title')).getText(),
}
});
});
最佳答案
这似乎可行,但我不能 100% 确定它是正确的
return element.all(by.repeater("category in categories")).map(function(elm) {
return {
category_title: elm.element(by.id('category-title')).getText(),
items: elm.all(by.id("item-title")).getText()
}
})
关于angularjs - Protractor :从嵌套元素创建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28237448/