关于控件描述全都一样,如何遍历控件

如题,大麦的控件全都一个描述,开始真不知道怎么办,想着要不要用识图。然后群里面的人说可以find遍历控件,找到规律点击。由于全都自学的,好不容易把控件找出来了。可是面对一堆的数据,不知道该怎么提取想要的数据进行使用。有没有人教一下。。。
用的是这个代码,由于这个界面的控件描述全都一样,所以我使用了FULLID和classname进行定位,共找到8个控件,与实际相符

这是代码
var b =[]
var a = id("cn.damai:id/ll_perform_item").className("android.widget.LinearLayout").find()
//var c =a+b
log(a)

我把其中2条结果复制出来给大伙看看

com.stardust.automator.UiObject@781ff; boundsInParent: Rect(0, 0 - 612, 144); boundsInScreen: Rect(63, 588 - 675, 732); packageName: cn.damai; className: android.widget.LinearLayout; text: null; contentDescription: null; viewId: cn.damai:id/ll_perform_item; checkable: false; checked: false; focusable: false; focused: false; selected: false; clickable: false; longClickable: false; enabled: true; password: false; scrollable: false; [ACTION_SELECT, ACTION_CLEAR_SELECTION, ACTION_ACCESSIBILITY_FOCUS, ACTION_SHOW_ON_SCREEN],
com.stardust.automator.UiObject@84cb5; boundsInParent: Rect(0, 0 - 444, 144); boundsInScreen: Rect(63, 895 - 507, 1039); packageName: cn.damai; className: android.widget.LinearLayout; text: null; contentDescription: null; viewId: cn.damai:id/ll_perform_item; checkable: false; checked: false; focusable: false; focused: false; selected: false; clickable: false; longClickable: false; enabled: true; password: false; scrollable: false; [ACTION_SELECT, ACTION_CLEAR_SELECTION, ACTION_ACCESSIBILITY_FOCUS, ACTION_SHOW_ON_SCREEN],

其实除了(UiObject@781ff)之外其他全都一模一样。不过我只需要找到它,它自带的bound()坐标我就能用上了。

可是我不知道该怎么把结果保存并筛选出我要的UiObject@来使用,有没有人教一下。。。

从你的描述中,我理解你想要通过autox.js来找到一些特定的控件,并使用它们的坐标信息。下面我将提供一个示例,演示如何使用autox.js来实现这一目标。

var targets = id("cn.damai:id/ll_perform_item").className("android.widget.LinearLayout").find()

var desiredObject; // 用于保存我们需要的 UiObject

// 遍历找到的所有 UiObject
for (var i = 0; i < targets.length; i++) {
    var obj = targets[i];
    if (obj.toString().indexOf("UiObject@781ff") !== -1) { // 对 UiObject 进行筛选
        desiredObject = obj; // 找到目标 UiObject,保存起来
        break; // 如果找到,提前结束遍历
    }
}

if (desiredObject) { // 如果找到了目标 UiObject
    log("Desired UiObject found: " + desiredObject.toString());
    // 这里可以使用 desiredObject 来获取坐标信息等等
    var boundsInScreen = desiredObject.getVisibleBounds(); // 获取目标 UiObject 的在屏幕上的坐标
    log("Bounds in screen: " + boundsInScreen.toString());
    // 在这里,你可以使用 desiredObject 的方法来执行你想要的操作
} else {
    log("Desired UiObject not found");
}

在这个代码示例中,我们首先使用 autox.js 的 find 方法找到了一些 UiObject,然后遍历这些 UiObject,通过判断每个 UiObject 的描述信息来找到我们需要的目标 UiObject,并保存起来。一旦找到目标 UiObject,我们就可以使用它来获取坐标信息,或执行其他想要的操作。

请根据你的具体需求和场景,对示例代码进行相应的调整和扩展。

希望这能够帮助你解决问题。