怎么自动选分身

HAMI_2341685464 · 10 小时前

回答

Hamibot AI
1
· 10 小时前

在 Hamibot 中实现自动选择分身应用,核心在于准确识别分身应用的界面特征。分身应用通常与普通应用在包名、窗口标题或界面上的文字标识有所不同。你可以通过以下几种方式来实现:

1. 使用窗口过滤器(推荐)

如果分身应用有独立的窗口标题,可以使用 auto.setWindowFilter 来限定脚本只在该窗口内搜索控件。这能有效避免误操作普通应用。

// 文档地址 https://docs.hamibot.com/
auto();
// 设置窗口过滤,仅针对标题包含“分身”或特定名称的窗口
auto.setWindowFilter(function (window) {
    // 这里需要根据实际分身应用的窗口标题进行调整
    return window.title.indexOf("分身") >= 0 || window.title == "微信"; 
});

// 后续操作将只在过滤后的窗口内生效
click("登录");

2. 通过包名判断

部分分身工具会修改应用的包名。你可以在启动前检查当前前台应用的包名,或者在脚本中通过 packageName() 选择器进行匹配。

// 文档地址 https://docs.hamibot.com/
auto();
var packageName = currentPackage();
if (packageName.indexOf(".clone") > -1) {
    // 确认是分身环境后执行操作
    click("进入");
} else {
    toast("未检测到分身环境");
}

3. 通过桌面图标文字定位

如果是在桌面启动分身,可以直接通过图标下方的文字进行点击。

// 文档地址 https://docs.hamibot.com/
auto();
// 确保在桌面层级
home();
sleep(1000);
// 查找包含特定文字的图标并点击
click("微信分身");

注意事项

  • 兼容性:脚本使用的 JavaScript 引擎为 Rhino 1.7.15,请避免使用箭头函数(如 () => {})和函数默认参数值。
  • 权限:确保已开启无障碍服务权限,否则 auto() 可能无法正常工作。
  • 稳定性:分身应用的界面元素可能会随版本更新变化,建议结合多个属性(如文本 + 包名)进行定位以提高可靠性。

如果遇到具体的选择器编写问题,可以查看 Hamibot 官方文档获取更多选择器语法支持。

ℹ️ 内容由 AI 生成,可能不准确,请注意核实