现场写一个脚本,识别屏幕点击“传输文件”,如果没有则先解锁手机(无密码,从下往上滑)再识别一次,如果还是没有则从桌面浏览,右往左滑动共5次,每划一次识别一次“hamibot”字样,识别到了就点击,等待5秒启动,然后识别“前往控制台”识别到了就点击,等待10秒加载,识别“脚本”点击,识别“运行”点击,等待10秒,点击约屏幕右下方上面一点左边一点的,然后结束脚本
回答
// 文档地址 https://docs.hamibot.com/
// 注意:以下脚本基于Hamibot环境编写,需确保已正确配置权限和设备设置
// 定义常量
var CLICK_INTERVAL = 1000; // 点击间隔时间(毫秒)
var WAIT_TIME_AFTER_CLICK = 5000; // 点击后等待时间(毫秒)
var MAX_RETRY_COUNT = 3; // 最大重试次数
// 函数:滑动操作
function swipe(direction, duration) {
var dw = device.width;
var dh = device.height;
var startX, startY, endX, endY;
if (direction === "up") {
startX = dw / 2;
startY = dh * 0.8;
endX = dw / 2;
endY = dh * 0.2;
} else if (direction === "down") {
startX = dw / 2;
startY = dh * 0.2;
endX = dw / 2;
endY = dh * 0.8;
} else if (direction === "left") {
startX = dw * 0.8;
startY = dh / 2;
endX = dw * 0.2;
endY = dh / 2;
} else if (direction === "right") {
startX = dw * 0.2;
startY = dh / 2;
endX = dw * 0.8;
endY = dh / 2;
}
gesture(duration, startX, startY, endX, endY);
}
// 函数:查找并点击文本
function clickText(text, retryCount) {
if (retryCount <= 0) {
return false;
}
var result = findText(text);
if (result) {
click(result.x, result.y);
sleep(WAIT_TIME_AFTER_CLICK);
return true;
}
return clickText(text, retryCount - 1);
}
// 主函数
function main() {
var retryCount = MAX_RETRY_COUNT;
while (retryCount > 0) {
// 尝试点击“传输文件”
var result = findText("传输文件");
if (result) {
click(result.x, result.y);
sleep(WAIT_TIME_AFTER_CLICK);
break;
}
// 如果没有找到“传输文件”,尝试解锁手机
swipe("up", 500); // 从下往上滑动解锁
sleep(2000); // 等待解锁完成
retryCount--;
}
// 从桌面浏览,右往左滑动5次
for (var i = 0; i < 5; i++) {
swipe("left", 500);
sleep(1000);
// 检查是否有“hamibot”字样
if (clickText("hamibot", 1)) {
break;
}
}
// 等待10秒加载
sleep(10000);
// 点击“前往控制台”
if (clickText("前往控制台", 1)) {
// 等待10秒加载
sleep(10000);
// 点击“脚本”
if (clickText("脚本", 1)) {
// 点击“运行”
if (clickText("运行", 1)) {
// 点击屏幕右下方上面一点左边一点
var screenWidth = device.width;
var screenHeight = device.height;
click(screenWidth * 0.8, screenHeight * 0.2);
sleep(WAIT_TIME_AFTER_CLICK);
}
}
}
}
// 执行主函数
main();
ℹ️ 本回答由 AI 生成,内容仅供参考