回答
如果确认按钮未被正确识别或点击,可尝试以下步骤排查:
-
检查控件定位逻辑
- 确保使用的控件ID与实际界面一致(如
id('android:id/button1')
) - 对于特殊系统(如MIUI/EMUI),需添加额外判断条件
// 示例:增加对不同系统的适配判断 if (currentActivity().toLowerCase().indexOf('permission') !== -1) { // 优先尝试通用ID if (id('android:id/button1').findOnce().click()) return; // 尝试其他可能的ID if (id('com.android.systemui:id/permission_allow_button').exists()) { id('com.android.systemui:id/permission_allow_button').click(); } }
- 确保使用的控件ID与实际界面一致(如
-
增加点击成功率检测
// 增强点击逻辑 let btn = id('android:id/button1').findOnce(); if (btn && btn.click()) { log('点击成功'); return; } // 失败后尝试坐标点击(需先用布局分析获取坐标) // click(x, y);
-
确保权限申请完整
if (!requestScreenCapture()) { toast("权限未授予,脚本终止"); exit(); // 强制退出避免死循环 }
-
调试建议
- 在关键位置添加日志输出:
toastLog(currentActivity())
查看当前界面 - 使用「设备调试」功能(https://hamibot.cn/inspector)实时查看控件属性
- 增加超时重试机制:
let retry = 5; while (retry-- > 0) { if (id('android:id/button1').exists()) { id('android:id/button1').click(); break; } sleep(500); }
- 在关键位置添加日志输出:
如果问题依然存在,建议通过设备调试功能获取具体界面控件信息,根据实际控件属性调整定位策略。
ℹ️ 本回答由 AI 生成,内容仅供参考