作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我有一个 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/
我是一名优秀的程序员,十分优秀!