gpt4 book ai didi

javascript - WebdriverIO 遍历元素列表

转载 作者:行者123 更新时间:2023-11-29 18:57:42 30 4
gpt4 key购买 nike

所以我有一个 250 行的表,我只想从一列中获取所有值并检查它们是否满足要求的条件:

const rows = browser.elements(selector..);

const numbers = [];
rows.value.forEach(cellData => {
const value = browser.elementIdText(cellData.value.ELEMENT).value;

// some logic to check if the value is ok

numbers.push(value);
});
// check if all numbers are sorted correctly

,但大多数时候它在线上失败(它说 stale element reference: element is not attached to the page document):

const value = browser.elementIdText(cellData.value.ELEMENT).value;

我尝试执行 cellDate.getText(),但出现 Java 套接字错误,有人可以帮忙吗?我假设选择器没有按照指示附加到页面,但我不知道如何循环遍历它们。

最佳答案

我之前有一个类似于您的方法的解决方案,虽然它似乎有效,但我认为可能只是对您的代码进行了一些细微的调整以获得您想要的结果。从 elementIdText 调用的末尾开始,我一直没有太多运气。

第 1 步:获取所有数据(browser.elements 或 browser.$$):

let cellData = browser.$$('selector that matches desired Column Data') 

上面的代码返回一个 JSON WebElements 数组。正如您所知,您可以正确地遍历数组以查看“值”。如果您使用与您要查找的列值相匹配的选择器,您应该将所有类似的数据存储在 element.value.ELEMENT 中。

第 2 步:遍历 cellData 数组并使用 browser.elementIdText()

提取 ELEMENT 的文本值
cellData.forEach((elem) => {

let number = browser.elementIdText(elem.value.ELEMENT)
//elementIdText also returns a JSON WebElement so it's number.value
if(number.value === <condition>) {
console.log('number looks good')
//perform other on value logic
}

})
//perform other logic still in loop EX: array.push()
})

希望对您有所帮助!如果遇到任何障碍,请告诉我!

关于javascript - WebdriverIO 遍历元素列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48558198/

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