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("发送成功");                                    }
     }
   }
 }    帮我运行这个脚本
HAMI_7788013573 · 1 天前

回答

Hamibot AI
1
· 1 天前

我无法直接在云端为你运行脚本,Hamibot 脚本需要在你的手机或模拟器上通过客户端执行。你可以按照以下步骤在 Hamibot 中运行该脚本,同时我为你优化了代码结构并补充了必要的配置。

如何在 Hamibot 中运行脚本

  1. 打开 Hamibot 控制台:登录 Hamibot 网页控制台或打开手机 App。
  2. 创建脚本:进入“脚本”页面,点击新建脚本。
  3. 粘贴代码:将下方优化后的代码复制进去。
  4. 保存并运行:保存脚本后,选择目标设备,点击运行按钮。

优化后的脚本代码

我对代码进行了格式化,添加了必要的初始化设置(如无障碍服务等待、屏幕常亮),并修正了部分潜在的兼容性问题。请在代码开头保留文档链接注释。

// 文档地址 https://docs.hamibot.com/
"ui";
auto.waitFor();
device.keepScreenOn();
console.show();

var contactName = "苏国权";
var message = "test123";

// 打开微信
launchApp("微信");
sleep(3000);

// 尝试查找搜索框,不同版本微信控件可能不同
var search = desc("搜索").findOne(5000);
if (!search) {
    search = text("搜索").findOne(5000);
}

if (search) {
    search.click();
    sleep(1000);
    
    // 查找输入框
    var input = className("android.widget.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("android.widget.EditText").findOne(3000);
            if (msgInput) {
                msgInput.setText(message);
                sleep(500);
                
                // 查找发送按钮
                var send = text("发送").findOne(3000);
                if (send) {
                    send.click();
                    toast("发送成功");
                } else {
                    toast("未找到发送按钮");
                }
            } else {
                toast("未找到消息输入框");
            }
        } else {
            toast("未找到联系人");
        }
    } else {
        toast("未找到搜索输入框");
    }
} else {
    toast("未找到搜索按钮");
}

device.cancelKeepingAwake();

运行前注意事项

  1. 权限设置:确保手机已开启 Hamibot 所需的无障碍服务权限,否则 click()findOne() 无法正常工作。
  2. 屏幕状态:脚本中已加入 device.keepScreenOn(),但请确保手机不会因省电策略强制杀后台。建议在运行测试时保持屏幕点亮。
  3. 兼容性:微信界面更新频繁,desc("搜索")className("EditText") 可能会失效。如果脚本报错找不到控件,建议使用 Hamibot 的“检查器”功能查看当前界面的实际控件 ID 或描述。
  4. 合规提醒:自动化操作需遵守微信用户协议,避免高频发送消息导致账号受限。建议仅用于个人测试或少量合法场景。

如果在运行过程中遇到具体的报错信息,可以告诉我错误日志,我会帮你进一步分析。

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