我有一张价值表。我希望将表中最后一列的所有值相加。使用它作为最终的列单元格共享一个类似的类"total-cell"
:
var elements = element.all(by.css('tr > td > .total-cell'))
我现在希望忽略列表中的某些行(tr
)。我想忽略的tr
有一个共同的ng-hide
类,所以我在我的选择器中添加了一个not语句,但它不起作用。我错过了什么吗?
var elements = element.all(by.css('tr:not(.ng-hide) > td > .total-cell'))
运行第二个选择器语句与第一个选择器语句具有相同的效果(就像忽略ng-hide
属性一样?)
答案 0 :(得分:3)
ng-hide
class的存在使得元素根据规范不可见:
.ng-hide
CSS类在AngularJS中预定义,并将display
样式设置为none
。
这意味着我们只能过滤表格的可见行:
var rows = element.all(by.css('tr > td > .total-cell'));
var visibleRows = rows.filter(function (row) {
return row.isDisplayed().then(function (isDisplayed) {
return isDisplayed;
});
});
expect(visibleRows.getText()).toEqual(['10', '20', '30']);