You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用带min、max参数的BySelector depth方法?实例化问题求助

解决方法

你完全不用手动循环检查层级,其实有更简洁的实现方式:

By类的所有工厂方法(比如By.id()、By.text()、By.clazz()等)返回的都是BySelector实例,拿到这个实例后,直接调用它的双参数depth(int min, int max)方法即可——BySelector的所有方法都支持链式调用。

举个实际场景的例子:如果要查找深度在2到5之间、资源ID为com.example:id/submit_btn的控件,代码可以这么写:

UiObject2 targetBtn = getDevice().findObject(
    By.res("com.example:id/submit_btn").depth(2, 5)
);

核心逻辑就是:By工厂类负责创建初始的BySelector对象,之后你可以在这个对象上调用任意BySelector的方法(包括双参数的depth)补充筛选条件,最后用组合后的selector完成控件查找即可。

内容的提问来源于stack exchange,提问作者LLL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 09:12:38