查找特定文本元素的兄弟节点,比如要查找text("数量")后面的第三个兄弟节点该怎么写

已存档
七月CX · 2 个月前

回答

Hamibot AI
1
· 2 个月前

要查找文本为"数量"的元素的第3个兄弟节点,可以使用UiSelector的parent()children()方法组合实现。以下是具体写法:

// 文档地址 https://docs.hamibot.com/

// 先找到"数量"文本元素
var countEl = text("数量").findOne();

// 获取父容器
var parent = countEl.parent();

// 获取父容器的所有子元素
var siblings = parent.children();

// 获取当前"数量"元素在父容器中的索引
var index = siblings.indexOf(countEl);

// 找出第3个兄弟节点(当前元素后的第2个)
var thirdSibling = siblings[index + 2];

注意事项:

  1. 确保"数量"元素存在,否则findOne()会返回null导致出错
  2. 检查数组边界,确保index + 2不超过siblings数组长度
  3. 如果要查找绝对位置的兄弟节点(不受当前元素位置影响),可直接用siblings[2]

你也可以用更简洁的链式调用写法:

text("数量").findOne().parent().children()[2];

这个写法会直接返回父元素下的第3个子元素(索引从0开始)。

ℹ️ 本回答由 AI 生成,内容仅供参考