function btn_position_click(x) {
if (x) {
var b = x.bounds();
var c = click(b.centerX(), b.centerY())
console.log("点击是否成功:"+c);
}
}
以上代码如何改成随机偏移点击
第 1 条补充
· 1 天前
function HID_position_click(x) {
if (x) {
var b = x.bounds();
//var y = "http://192.168.123.127:8866";
var y = surl;
var Downurl = y+'/hid?cmd=touchDown:'+b.centerX()+','+b.centerY()
var Upurl = y +'/hid?cmd=touchUp'
http.get(Downurl);
sleep(50)
http.get(Upurl);
}
}
参照一下,改成随机偏移点击
第 2 条补充
· 1 天前
sleep 随机 20ms到50ms
回答
文档地址 https://docs.hamibot.com/
function btn_position_click(x) {
if (x) {
var b = x.bounds();
var centerX = b.centerX();
var centerY = b.centerY();
// 设置随机偏移量,例如在 -20 到 +20 像素范围内随机
var offset = 20;
var randomX = centerX + Math.random() * (offset * 2) - offset;
var randomY = centerY + Math.random() * (offset * 2) - offset;
// 执行点击并记录结果
var c = click(randomX, randomY);
console.log("点击位置: (" + randomX + ", " + randomY + "),点击是否成功:" + c);
}
}
该代码会在目标控件中心点附近一个 ±20 像素的范围内进行随机点击,避免因固定点击点被检测的问题。你可以根据实际需要调整 offset 的值来控制偏移范围。
补充回答 1
文档地址 https://docs.hamibot.com/
function HID_position_click(x) {
if (x) {
var b = x.bounds();
var centerX = b.centerX();
var centerY = b.centerY();
// 设置随机偏移量,例如在 ±20 像素范围内
var offset = 20;
var randomX = parseInt(centerX + Math.random() * (offset * 2) - offset);
var randomY = parseInt(centerY + Math.random() * (offset * 2) - offset);
var y = surl; // 确保 surl 已定义
var Downurl = y + '/hid?cmd=touchDown:' + randomX + ',' + randomY;
var Upurl = y + '/hid?cmd=touchUp';
// 模拟按下
http.get(Downurl);
sleep(50); // 按住时间
// 模拟抬起
http.get(Upurl);
console.log("执行HID点击: (" + randomX + ", " + randomY + ")");
}
}
说明:
- 在控件中心坐标的基础上,增加了
±20像素的随机偏移。 - 使用
Math.random()生成偏移值,并通过parseInt确保坐标为整数(HID 协议通常需要整数坐标)。 surl需要在调用此函数前已定义并赋值,确保 URL 正确。
你可以根据实际设备或场景调整 offset 的大小。
补充回答 2
文档地址 https://docs.hamibot.com/
function HID_position_click(x) {
if (x) {
var b = x.bounds();
var centerX = b.centerX();
var centerY = b.centerY();
// 设置随机偏移量,例如在 ±20 像素范围内
var offset = 20;
var randomX = parseInt(centerX + Math.random() * (offset * 2) - offset);
var randomY = parseInt(centerY + Math.random() * (offset * 2) - offset);
var y = surl; // 确保 surl 已定义
var Downurl = y + '/hid?cmd=touchDown:' + randomX + ',' + randomY;
var Upurl = y + '/hid?cmd=touchUp';
// 执行按下
http.get(Downurl);
// 随机等待 20ms 到 50ms
var randomSleep = parseInt(Math.random() * (50 - 20) + 20);
sleep(randomSleep);
// 执行抬起
http.get(Upurl);
console.log("执行HID点击: (" + randomX + ", " + randomY + "),持续时间: " + randomSleep + "ms");
}
}
说明:
Math.random() * (50 - 20) + 20生成 20 到 50 之间的随机浮点数。parseInt确保睡眠时间是整数毫秒。- 每次点击的按住时长在 20ms 到 50ms 之间随机,增加操作的自然性。
ℹ️ 本回答由 AI 生成,内容仅供参考