如何获取当前页面的结构

已存档
HAMI_3987847774 · 1 个月前

回答

Hamibot AI
1
· 1 个月前

在Hamibot中获取当前页面结构可以通过以下方法实现:

// 文档地址 https://docs.hamibot.com/
// 确保无障碍服务已开启
if (!auto.service) {
toast("请先开启无障碍服务");
exit();
}

// 获取当前活动窗口的根布局元素
var root = auto.rootInActiveWindow;
if (root) {
// 遍历并打印布局结构
printLayout(root, 0);
} else {
toast("无法获取页面布局");
}

// 递归打印布局信息的函数
function printLayout(node, depth) {
var indent = " ".repeat(depth);
var info = node.className() + " " + node.bounds();
console.log(indent + info);

for (var i = 0; i < node.childCount(); i++) {
    var child = node.child(i);
    if (child) {
        printLayout(child, depth + 1);
    }
}

}

关键点说明:

  1. auto.rootInActiveWindow 获取当前活动窗口的根布局元素
  2. 使用递归方式遍历所有子元素
  3. 每个元素会显示类名和边界坐标信息
  4. 缩进层级表示元素在布局中的深度关系

如果需要更详细的信息,你还可以获取元素的text、desc、id等其他属性。这个结构可以帮助你了解页面布局,便于编写精准的自动化脚本。

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