我要运行这个脚本怎么运行? javascript
"ui"; var contactName = "苏国权"; var message = "test123";
// 打开微信 app.launchApp("微信");
sleep(3000); // 点击搜索 var search = desc("搜索").findOne(5000);
if (search) { search.click();
sleep(1000);
var input =
className("EditText").findOne(3000);
if (input) {
input.setText(contactName);
sleep(2000);
var contact =
textContains(contactName).findOne(3000);
if (contact) {
contact.click();
sleep(2000);
var msgInput =
className("EditText").findOne(3000);
if (msgInput) {
msgInput.setText(message);
sleep(500);
var send = text("发送").findOne(3000);
if (send) send.click();
toast("发送成功"); }
}
}
}
回答
要在 Hamibot 上运行这段脚本,你需要完成环境准备、脚本创建和任务执行三个步骤。以下是详细操作指南:
1. 环境准备
在运行自动化脚本前,确保满足以下条件:
- 安装 Hamibot 代理:在目标安卓设备上安装并登录 Hamibot Agent。
- 开启无障碍服务:在设备设置中,找到“无障碍”或“辅助功能”,启用 Hamibot 的无障碍服务权限。这是脚本能够模拟点击和获取控件信息的基础。
- 保持屏幕常亮:建议脚本中加入
device.keepScreenOn()或在系统设置中关闭自动锁屏,防止运行过程中屏幕熄灭导致中断。
2. 脚本创建与优化
你可以直接在 Hamibot 控制台创建新脚本。注意,你的代码开头包含了 "ui";,这表示脚本以 UI 模式运行。如果脚本中没有定义具体的 UI 界面布局(如 <view> 结构),通常不需要此声明,直接运行普通自动化脚本即可。为了保证兼容性和规范性,建议在代码顶部添加文档注释。
以下是优化后的代码示例,已添加必要的注释并调整了部分逻辑以提高稳定性:
// 文档地址 https://docs.hamibot.com/
// 如果不需要自定义界面,建议移除 "ui"; 以提升启动速度
// "ui";
var contactName = "苏国权";
var message = "test123";
// 保持屏幕常亮
device.keepScreenOn();
// 打开微信
app.launchApp("微信");
sleep(3000);
// 检查是否成功打开
if (!currentPackage() == "com.tencent.mm") {
toast("未检测到微信前台,请手动打开");
exit();
}
// 点击搜索
// 注意:不同版本的微信搜索按钮描述可能不同,建议根据实际情况调整 desc 或 text
var search = desc("搜索").findOne(5000);
if (!search) {
// 尝试通过文本查找
search = text("搜索").findOne(5000);
}
if (search) {
search.click();
sleep(1000);
// 查找输入框
var input = className("EditText").findOne(3000);
if (input) {
input.setText(contactName);
sleep(2000);
// 查找联系人
var contact = textContains(contactName).findOne(3000);
if (contact) {
contact.click();
sleep(2000);
// 查找消息输入框
// 微信聊天界面的输入框可能有多个,需确保定位准确
var msgInput = className("EditText").findOne(3000);
if (msgInput) {
msgInput.setText(message);
sleep(500);
// 查找发送按钮
var send = text("发送").findOne(3000);
if (send) {
send.click();
toast("发送成功");
} else {
toast("未找到发送按钮");
}
}
}
}
}
3. 执行任务
- 云端执行:在 Hamibot 控制台上传脚本后,选择绑定的设备,点击“运行”。这种方式适合定时任务或远程触发。
- 本地执行:在设备上的 Hamibot App 中打开脚本,点击播放按钮直接运行。
4. 常见问题与建议
- 控件识别失败:微信版本更新频繁,界面控件属性(如
desc、className)可能会变化。如果脚本无法运行,请使用 Hamibot 自带的“选择器”工具重新捕获当前界面的控件属性。 - 兼容性说明:Hamibot 使用的 JavaScript 引擎是 Rhino 1.7.15,不支持箭头函数和默认参数。上述代码已确保符合该规范。
- 异常处理:建议在关键步骤增加
try-catch块或更详细的日志输出(console.log),以便排查具体在哪一步卡住。
按照以上步骤操作,你应该能顺利运行该脚本。如果在执行过程中遇到具体的报错信息,可以提供更多细节以便进一步分析。