gpt4 book ai didi

javascript - 如何在元素中包含的 Protractor 测试中获取 div 编号/计数

转载 作者:行者123 更新时间:2023-11-29 21:48:45 24 4
gpt4 key购买 nike

我的测试需要将 div 计数/编号设置为转发器分配的值。我试图搜索,但我的发现都不起作用。

app.js 中的数组:

 var  rows = [a,b,c,d,e,f,g];
var items = [1,2,3,4,5,6,7];

HTML:

<div ng-repeat="row in rows">
<div ng-repeat = "item in items">
<span>{{item}}</span>
</div>
</div>

问题:我想获取值 span 元素为 4 或任意值的项目的 div 编号。如何用这个在 Protractor 测试中写这个。

我使用的是下面但如果值移动到下一行中的其他 div 将不起作用:

var getnumber = element(by.css=".items").get(4)

想要的是:

var getnumber = element(by.css=".rows").get("SOMETHING 1,2,3 or 4")

最佳答案

如果你想要一个数字 - 使用 map() :

element.all(by.repeater("item in items")).map(function (elm, index) {
return {
value: elm.element(by.tagName("span")).getText(),
index: index
}
}).then(function (items) {
for (var i=0; i < items.length; i++) {
if (items[i].value === '4') {
console.log(items[i].index);
}
}
});

span 文本为 4 时,这将打印转发器中元素的索引。


如果要过滤所有 span 文本等于 4 的转发器,请使用 filter() :

element.all(by.repeater("item in items")).filter(function (elm) {
return elm.element(by.tagName("span")).getText().then(function (text) {
return text === "4";
});
});

关于javascript - 如何在元素中包含的 Protractor 测试中获取 div 编号/计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30176149/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com