AIWROK软件HID点击方法的方法集合小结

来源:网络   编辑:桑客游  发表时间:2025-09-20  关注度:0  

代码结构分析

  1. 点击操作mWC桑客游项目交流网

    • hid.click(x, y): 在指定的绝对坐标点击一次。mWC桑客游项目交流网

    • hid.clickPercent(arg0, arg1): 在指定的百分比坐标点击一次。mWC桑客游项目交流网

    • hid.clicks(x, y, times, delay): 在指定坐标连续点击一定次数,每次点击之间有指定的间隔。mWC桑客游项目交流网

    • hid.clicksV2(x, y, press, times, delay): 类似于hid.clicks,但可以指定每次点击按住的时间。mWC桑客游项目交流网

  1. 鼠标点击mWC桑客游项目交流网

    • hid.mouseClick(arg0, arg1): 通过OTG设备在指定坐标进行鼠标点击。mWC桑客游项目交流网

  1. 节点搜索和点击mWC桑客游项目交流网

    • auto.nodeSearch(timeout): 搜索节点,可以指定超时时间。mWC桑客游项目交流网

    • nodes.clickable(arg0): 筛选是否允许点击的节点。mWC桑客游项目交流网

    • HidNode.prototype.click(): 点击节点的中心点。mWC桑客游项目交流网

    • HidNode.prototype.clickRandPoint(): 在节点的边界内随机点击一次。mWC桑客游项目交流网

    • HidNode.prototype.isClickable(): 判断节点是否可点击。mWC桑客游项目交流网

  1. 错误处理mWC桑客游项目交流网

    • 在尝试获取节点边界时使用了try-catch语句来捕获可能的错误,并打印错误信息。mWC桑客游项目交流网

  1. 重复代码mWC桑客游项目交流网

    • 在尝试获取节点边界时,if (this.node)的代码块被重复了两次。这可以优化为只检查一次。mWC桑客游项目交流网

  1. 语法错误mWC桑客游项目交流网

    • hid.clicksV2函数的printl语句中,引号使用不正确,应为printl("连续点击v2: (" + x + ", " + y + ") " + times + "次, 按住" + press + "毫秒, 每次间隔" + delay + "毫秒");mWC桑客游项目交流网

// 点击坐标
// boolean click(int x, int y) 返回值: boolean
// 参数: int x: 横坐标 int y: 纵坐标
// 案例: hid.click(0, 0)
hid.click(0, 0)

// 点击百分比坐标
// void clickPercent(double arg0, double arg1) 返回值: void
// 参数: double arg0: 横坐标 double arg1: 纵坐标
// 案例: hid.clickPercent(0, 0)
hid.clickPercent(0, 0)

// 连续点击
// boolean clicks(int x, int y, int times, int delay) 返回值: boolean
// 参数: int x: 横坐标 int y: 纵坐标 int times: 点击次数 int delay: 每次间隔毫秒
// 案例: hid.clicks(0, 0, 10, 500)
hid.clicks(0, 0, 10, 500)

// 连续点击v2可设置按下时长
// boolean clicksV2(int x, int y, int press, int times, int delay) 返回值: boolean
// 参数: int x: 横坐标 int y: 纵坐标 int press: 按住时间 int times: 点击次数 int delay: 每次间隔毫秒
// 案例: hid.clicksV2(0, 0, 100, 10, 500)
hid.clicksV2(0, 0, 100, 10, 500)

// 鼠标点击
// 暂时只支持新版otg设备
// void mouseClick(int arg0, int arg1) 返回值: void
// 参数: int arg0: 横坐标 int arg1: 纵坐标
// 案例: hid.mouseClick(0, 0)
hid.mouseClick(0, 0)

// 节点允许点击
// 筛选是否允许点击的节点, true允许, false不允许
// nodes clickable(boolean arg0) 返回值: nodes
// 参数: boolean arg0: true
// 案例: auto.nodeSearch(100).clickable(true)
auto.nodeSearch(100).clickable(true)

// hid点击元素随机坐标
// boolean clickRandPoint() 返回值: boolean
// 参数: 无
// 案例: new HidNode().clickRandPoint()
new HidNode().clickRandPoint()

// hid点击
// boolean hidClick() 返回值: boolean
// 参数: 无
// 案例: new HidNode().hidClick()
new HidNode().hidClick()

// 是否允许点击
// boolean isClickable() 返回值: boolean
// 参数: 无
// 案例: new HidNode().isClickable()
new HidNode().isClickable()

// hid点击
// boolean hidClick() 返回值: boolean
// 参数: 无
// 案例: new detect().hidClick()
new detect().hidClick()

// hid点击
// boolean hidClick() 返回值: boolean
// 参数: 无
// 案例: new node().hidClick()
new node().hidClick()

if (this.node) {
// 获取节点边界
this.bounds = {
left: parseInt(this.node.boundsPercent[0] * this.node.bounds[2]),
top: parseInt(this.node.boundsPercent[1] * this.node.bounds[3]),
right: parseInt(this.node.boundsPercent[2] * this.node.bounds[2]),
bottom: parseInt(this.node.boundsPercent[3] * this.node.bounds[3])
};
} else {
printl("节点未找到");
}

try {
// 获取节点边界
if (this.node) {
// 获取节点边界
this.bounds = {
left: parseInt(this.node.boundsPercent[0] * this.node.bounds[2]),
top: parseInt(this.node.boundsPercent[1] * this.node.bounds[3]),
right: parseInt(this.node.boundsPercent[2] * this.node.bounds[2]),
bottom: parseInt(this.node.boundsPercent[3] * this.node.bounds[3])
};
}
} catch (e) {
printl("节点搜索失败: " + e);
}

return this;

/**
* 点击节点中心点
* @return {boolean} 点击是否成功
*/
HidNode.prototype.click = function() {
if (!this.isClickable()) {
printl("节点不允许点击");
return false;
}
var centerX = (this.bounds.left + this.bounds.right) / 2;
var centerY = (this.bounds.top + this.bounds.bottom) / 2;
try {
this.clicks(centerX, centerY, 1, 0);
} catch (e) {
printl("点击失败: " + e);
return false;
}
return true;
};

/**
* 点击元素随机坐标
* @return {boolean} 点击是否成功
*/
HidNode.prototype.clickRandPoint = function() {
if (!this.isClickable()) {
printl("节点不允许点击");
return false;
}
var randX = this.bounds.left + Math.random() * (this.bounds.right - this.bounds.left);
var randY = this.bounds.top + Math.random() * (this.bounds.bottom - this.bounds.top);
try {
this.click(randX, randY);
} catch (e) {
printl("点击失败: " + e);
return false;
}
return true;
};

/**
* 是否允许点击
* @return {boolean} 允许点击返回true, 否则返回false
*/
HidNode.prototype.isClickable = function() {
return this.node.clickable;
};

/**
* 鼠标点击
* @param {int} arg0: 横坐标
* @param {int} arg1: 纵坐标
*/
hid.mouseClick = function(arg0, arg1) {
// 实现鼠标点击逻辑
printl("鼠标点击: (" + arg0 + ", " + arg1 + ")");
};

/**
* 连续点击
* @param {int} x: 横坐标
* @param {int} y: 纵坐标
* @param {int} times: 点击次数
* @param {int} delay: 每次间隔毫秒
* @return {boolean} 点击是否成功
*/
hid.clicks = function(x, y, times, delay) {
for (var i = 0; i < times; i++) {
this.click(x, y);
java.lang.Thread.sleep(delay);
}
printl("连续点击: (" + x + ", " + y + ") " + times + "次, 每次间隔" + delay + "毫秒");
return true;
};

/**
* 连续点击v2可设置按下时长
* @param {int} x: 横坐标
* @param {int} y: 纵坐标
* @param {int} press: 按住时间
* @param {int} times: 点击次数
* @param {int} delay: 每次间隔毫秒
* @return {boolean} 点击是否成功
*/
hid.clicksV2 = function(x, y, press, times, delay) {
for (var i = 0; i < times; i++) {
this.click(x, y);
java.lang.Thread.sleep(press);
java.lang.Thread.sleep(delay - press);
}
printl("连续点击v2: (" + x + ", " + y + ") " + times + "次, 按住" + press + "毫秒, 每次间隔" + delay + "毫秒");
return true;
};

// 节点允许点击
// 筛选是否允许点击的节点, true允许, false不允许
// nodes clickable(boolean arg0) 返回值: nodes
// 参数: boolean arg0: true
// 案例: auto.nodeSearch(100).clickable(true)
auto.nodeSearch = function(timeout) {
// 实现节点搜索逻辑
return {
clickable: function(arg0) {
if (arg0) {
// 筛选允许点击的节点
printl("筛选允许点击的节点");
}
return this;
}
};
};

// hid点击
// boolean hidClick() 返回值: boolean
// 参数: 无
// 案例: new detect().hidClick()
detect.prototype.hidClick = function() {
// 实现hid点击逻辑
printl("detect点击");
return true;
};

// hid点击
// boolean hidClick() 返回值: boolean
// 参数: 无
// 案例: new node().hidClick()
node.prototype.hidClick = function() {
// 实现hid点击逻辑
printl("node点击");
return true;
};


mWC桑客游项目交流网

    所有资料均来自网络,请各位谨慎判断真实性。网盘链接有时效性,请注意资料发布时间,如果链接失效,点我报错

    如有侵权,出示相关证明联系站长删除(微信在下面)。如果本站资源对你有用,感谢开通会员或者打赏!


下一篇:AIWROK软件常用OKHTTP方法小结汇集


上一篇:返回列表


小提示:按 回车[Enter]键 返回,按 ←键 返回上一页, 按 →键 进入下一页。

手机访问

本站APP

联系我

加我微信