回答
以下是为你编写的 Hamibot 自动化脚本。代码已针对 Rhino 1.7.15 引擎进行兼容处理,未使用箭头函数或默认参数,并包含完整的异常提示与等待逻辑。
// 文档地址 https://docs.hamibot.com/
"auto";
// 1. 启动微信并等待主界面加载
app.launchApp("微信");
waitForActivity("com.tencent.mm.ui.LauncherUI", 8000);
// 2. 定位并点击顶部搜索入口
var searchBtn = text("搜索").findOne(3000) || desc("搜索").findOne(3000);
if (searchBtn) {
searchBtn.click();
} else {
toast("未找到搜索按钮,请检查微信版本或界面布局");
exit();
}
sleep(1000);
// 3. 输入公众号名称
setText("京东招聘");
sleep(1500);
// 4. 点击搜索结果中的公众号
var account = textContains("京东招聘").findOne(5000);
if (account) {
account.click();
} else {
toast("未找到京东招聘公众号");
exit();
}
sleep(2000);
// 5. 点击底部菜单“校园招聘”
var menuBtn = text("校园招聘").findOne(5000);
if (menuBtn) {
menuBtn.click();
toast("已点击校园招聘");
} else {
toast("未找到校园招聘按钮,请确认公众号底部菜单是否包含该选项");
}
关键说明与最佳实践
- 无障碍服务:脚本首行
"auto";会请求无障碍权限。运行前需在 Hamibot 客户端中确保已开启该权限,否则text()、click()等控件操作将失效。 - 界面动态适配:微信会频繁更新 UI 结构。若脚本在特定机型或版本上定位失败,请使用 Hamibot 的「布局分析」功能查看当前页面的控件
text、desc或id属性,并替换脚本中的选择器。 - 等待机制:使用
findOne(timeout)替代固定sleep()可提升脚本稳定性。当前代码已设置合理超时时间,避免无限阻塞。 - 键盘遮挡处理:部分机型在输入后软键盘可能遮挡底部菜单。若点击失败,可在第 4 步后添加
back(); sleep(500);收起键盘后再执行第 5 步。 - 测试建议:首次运行建议在测试机上手动完整走一遍流程,确认“京东招聘”公众号的底部菜单名称确为“校园招聘”(部分企业会随招聘季调整文案)。
将代码粘贴至 Hamibot 脚本编辑器,保存后点击运行即可。如遇控件定位问题,可提供当前页面的布局分析截图或控件属性,我将为你调整选择器。
ℹ️ 内容由 AI 生成,可能不准确,请注意核实