如何在WebdriverIO中使用$$定位器查找最后一个元素
WebdriverIO 中用 $$ 定位器获取最后一个元素的实现方法
在 WebdriverIO 里,$$ 定位器会返回匹配目标的元素数组,你可以通过以下几种方式获取最后一个元素:
方法一:利用数组 pop() 方法
pop() 会直接取出数组的最后一个元素,写法简洁:
// 对应你提供的Protractor代码逻辑,先取executions下的最后一个元素,再定位子元素 $$('admin.elements.executions').pop().$('[value="REQUIRED"]')
方法二:通过数组索引定位
用数组长度减一的索引直接获取最后一个元素,逻辑更直观:
const execElements = $$('admin.elements.executions'); const lastExecElement = execElements[execElements.length - 1]; lastExecElement.$('[value="REQUIRED"]');
方法三:使用 WebdriverIO 内置的 last() 命令(v7及以上版本支持)
从v7版本开始,WebdriverIO 的元素数组原生支持 last() 方法,写法和Protractor更接近:
$$('admin.elements.executions').last().$('[value="REQUIRED"]')
如果你的 WebdriverIO 版本低于v7,优先选择前两种方法,或者升级版本后使用第三种方法。
内容的提问来源于stack exchange,提问作者Rajesh
相关产品推荐
相关产品推荐

