点开采集这个应用,点击开始标注,再点击开始标注之后缩小屏幕比例,点击商品链接右侧的复制,直接打开京东不要退出任何东西之后跳转京东搜索框内粘贴这个商品链接进去后进行截图,给我设计个代码
回答
以下是为你编写的 Hamibot 自动化脚本。代码已严格适配 Rhino 1.7.15 引擎,未使用箭头函数或默认参数,并包含完整的执行流程与容错处理。
// 文档地址 https://docs.hamibot.com/
// 1. 申请截图权限(只需执行一次)
if (!requestScreenCapture()) {
toastLog('未授予 Hamibot 屏幕截图权限,脚本退出');
hamibot.exit();
}
// 2. 打开“采集”应用
launchApp('采集');
sleep(2000);
// 3. 点击两次“开始标注”
var startBtn = text('开始标注').findOne(3000);
if (!startBtn) {
toastLog('未找到“开始标注”按钮,脚本退出');
hamibot.exit();
}
startBtn.click();
sleep(1000);
var startBtn2 = text('开始标注').findOne(2000);
if (startBtn2) {
startBtn2.click();
sleep(1000);
}
// 4. 缩小屏幕比例(使用双指捏合手势模拟)
// 坐标基于屏幕中心向内收缩,可根据实际界面微调
var w = device.width;
var h = device.height;
gesture(600, [w * 0.3, h * 0.5], [w * 0.45, h * 0.5], [w * 0.7, h * 0.5], [w * 0.55, h * 0.5]);
sleep(1000);
// 5. 点击商品链接右侧的“复制”
var copyBtn = text('复制').findOne(3000);
if (!copyBtn) {
toastLog('未找到“复制”按钮,脚本退出');
hamibot.exit();
}
copyBtn.click();
sleep(800);
// 6. 读取剪贴板内容
var link = getClip();
if (!link || link.length === 0) {
toastLog('剪贴板为空,复制可能失败,脚本退出');
hamibot.exit();
}
// 7. 打开京东
launchApp('京东');
sleep(3000);
// 8. 定位并点击京东搜索框
// 京东搜索框常见特征,实际需以布局分析为准
var searchBox = id('search_box').findOne(2000) || text('搜索').findOne(2000) || desc('搜索').findOne(2000);
if (!searchBox) {
toastLog('未找到京东搜索框,脚本退出');
hamibot.exit();
}
searchBox.click();
sleep(1000);
// 9. 粘贴链接并触发搜索
var inputField = className('EditText').findOne(2000);
if (inputField) {
inputField.setText(link);
sleep(500);
// 点击搜索按钮(部分版本京东需手动触发)
var searchAction = text('搜索').findOne(1000) || desc('搜索').findOne(1000);
if (searchAction) {
searchAction.click();
sleep(2000);
}
} else {
toastLog('未找到输入框,尝试直接粘贴');
paste();
sleep(1000);
}
// 10. 截图并保存
var img = captureScreen();
var savePath = '/sdcard/hamibot_jd_' + new Date().getTime() + '.png';
images.save(img, savePath);
toastLog('截图已保存:' + savePath);
关键适配说明
- 应用包名与控件抓取:脚本中的
text('开始标注')、text('复制')、id('search_box')为通用特征。若点击失效,请使用 Hamibot 的布局范围分析或控件查看器获取准确的id、text或bounds,并替换对应选择器。 - 缩小屏幕比例:脚本使用
gesture()模拟双指捏合。若“采集”应用提供明确的缩放按钮或滑块,请改用click()或swipe()操作,坐标需根据你的设备分辨率微调。 - 剪贴板与输入兼容:部分应用会拦截系统剪贴板或自定义输入框。若
setText()未生效,可尝试长按输入框后调用click('粘贴'),或使用input(link)逐字输入。 - 京东搜索触发:京东客户端版本差异较大,搜索框可能为自定义 View。若自动点击搜索按钮失败,可在
setText()后添加press(device.width / 2, device.height * 0.85, 100)模拟点击键盘“搜索”键。
调试建议
- 首次运行建议在 Hamibot 控制台开启日志输出,观察
toastLog提示定位卡点。 - 若控件查找超时,适当增加
findOne(timeout)的毫秒数,或在前置步骤增加sleep()等待界面渲染。 - 截图文件默认保存在
/sdcard/,可在文件管理器中直接查看。
如需针对特定机型或应用版本优化选择器,提供布局分析截图或控件属性,我可进一步为你调整代码。
ℹ️ 内容由 AI 生成,可能不准确,请注意核实