按键精灵实现qq群自动签到
按键精灵实现qq群自动签到
按键精灵实现qq群自动签到按键精灵实现qq群自动签到
写着玩的,算是作业,就用了一个功能
1.安装手机模拟器、按键精灵手机版(模拟器及电脑都需安装)并注册账号
2.打开模拟器并进行相关设置,在这里手机分辨率选择了1080×1920,安装QQ并登录账号
3.连接按键精灵(需要给予按键精灵root权限)打开模拟器后会自动连接
如图,显示连接成功
4.新建脚本
5.开始写之前先手动操作感受一下通过模拟器实现小小签到的过程。模拟器和手机的差别还是很大的,比如说在打开小小签到的时候,响应时间就比较长,这也决定了在编写每一步的时候需要设置的delay
编写进入qq函数:实现自动找到qq图标并点击
7.编写在联系人页面搜索群功能:上一步可以看到进入qq页面后首页有很多消息堆积,因为我的置顶群有很多个,而且有随时收到新消息的可能,所以在该页面找到目标群是比较困难的。
但是qq的功能是很强大的,我们有很多种方法可以找到目标群。在这里选取 联系人→搜索→输入群号→点击 的方式进入目标群
8.编写进入小小签到函数:进入目标群聊后,点击群右上角的三条横线,找到小小签到,点击
因为打开小小签到相应时间比较长,所以在这一步要注意设定delay的参数时要尽量大一些
9.编写点击去签到功能
10.编写发布签到功能:点击发布签到→点击输入框→输入内容”nky”→点击确定发布日记
这一步出现了很多错误,我先后选择了很多个图,但是都没有抓取成功,最后选取右上方的三个点作为参考,点击该位置下方+200的位置,也就是激活输入框,并且在使用文本输入函数时也要注意delay,如果输入中文模拟器需要一定时间来反应(这里很可能需要下载并使用按键精灵输入法才可以)
在这一步通过获取右上角的三个点找到加号位置,点击,激活输入框,然后输入签到内容
点击加号位置只需将Y+200即可(计算出距离为200)
最后,如图,签到成功
脚本
Dim intX,intY Call 进入qq() Call 找到联系人() Call 搜索群() Call 进入小小签到() Call 去签到() //Call 发布签到() Delay 10000 Tap 388,1528 //这里直接定位坐标 Delay 2000 FindPic 792,75,1066,241,"Attachment:三点.png","000000",0,0.9,intX,intY If intX > -1 And intY > -1 Then TracePrint intX TracePrint intY Tap intX, intY+200 //点击 Else TracePrint "没找到" //这里容易出现问题,给一个错误提示 //Exit Do End If Delay 1000 InputText "nky" //这里直接选择坐标定位 Delay 1000 Tap 536, 1087 Delay 500 Function 进入qq() KeepCapture FindPic 0,0,0,0,"Attachment:qq.png","000000",0,0.9,intX,intY If intX > -1 And intY > -1 Then TracePrint intX TracePrint intY Tap intX,intY End If ReleaseCapture End Function Function 搜索群() Delay 500 KeepCapture FindPic 13,224,1068,386,"Attachment:搜索.png","000000",0,0.9,intX,intY If intX > -1 And intY > -1 Then TracePrint intX TracePrint intY Tap intX,intY End If ReleaseCapture Delay 500 InputText "984857034" Delay 500 Tap intX,intY+163 End Function Function 找到联系人() Delay 1000 KeepCapture FindPic 221,1762,806,1904,"Attachment:联系人.png","000005",0,0.9,intX,intY If intX > -1 And intY > -1 Then TracePrint intX TracePrint intY Tap intX,intY End If ReleaseCapture End Function Function 进入小小签到() Delay 1000 KeepCapture FindPic 829,75,1075,226,"Attachment:群右上角.png","000000",0,0.9,intX,intY If intX > -1 And intY > -1 Then TracePrint intX TracePrint intY Tap intX,intY End If ReleaseCapture Delay 2000 KeepCapture FindPic 9,915,1058,1531,"Attachment:小小签到.png","000000",0,0.9,intX,intY If intX > -1 And intY > -1 Then TracePrint intX TracePrint intY Tap intX, intY Delay 10000 End If ReleaseCapture End Function Function 去签到() Delay 500 KeepCapture FindPic 797,304,1079,656,"Attachment:去签到.png","000000",0,0.9,intX,intY If intX > -1 And intY > -1 Then TracePrint intX TracePrint intY Tap intX,intY End If ReleaseCapture Delay 3000 End Function
总结:
第一次尝试,收获还是很大的。软件用法很好理解,但是在实际编写的过程中遇到了非常多的问题,删掉重写了四五遍得到目前这个,但还是有很多缺陷。这个脚本主要利用了按键精灵的抓图功能,但是它有一个很大的问题就是抓图不稳定,它的成功率无法达到100%,抓图过程中总会出现各种各样的问题导致找不到图。
以下是做的过程中遇到的问题(找不到图):
1.延迟问题,在模拟器还没有跳转完全时我们就进行下一步操作导致无法找到图,这个时候就需要将delay尽量设置的相对大一些
2.模拟器问题,有时候模拟器的反应比较慢,可能会有卡的情况,这个目前没有找到解决方法,或许可以尝试别的模拟器
3.输入中文时可能出现的问题,最终得到的解决方法是在模拟器上使用按键精灵输入法(这个还没试过)
4.图没有放到插件中
5.选取范围有问题,无法找到,考虑更换范围
6.参照物有问题,考虑更换参照物