按键精灵-对接群验证码脚本讲解

前两天群友问了一个关于接收群验证码的问题:

对接群验证码脚本讲解
从原理的角度来说,它就是获取群内文字内容,然后找到对应的标识,这里是端口号(COM+数字),得到指定的验证码数字。

对接群验证码脚本讲解

下面我们说一下具体的操作逻辑:

我们只写获取验证码这部分的逻辑,假设已经填写好手机号开始等待验证码。

一、打开指定QQ群聊天窗口。

在获取验证码之前,一直是在需要接码的app界面中操作,所以第一步要跳转到验证码群聊天的窗口。
(1)先跳转到群名片

Import “shanhai.lua”
Dim 群号=78237147
shanhai.execute (“am start -a android.intent.action.VIEW -d mqqapi://card/show_pslcard?src_type=internal’&’version=1’&’uin=” &群号& “‘&’card_type=group’&’source=qrcode”)

(2)点击“发消息”按钮进入到聊天窗口。

考虑到界面加载时间不一定,所以用了一个循环判断界面是否加载完成,在执行点击操作。这里我们用了element这个命令。

For 10
Dim Table = element.Find(“android.widget.Button”,”发消息”)
If table[1][“left”] > 0 Then
Delay 500
Tap table[1][“left”], table[1][“top”]
Exit For
End If
Delay 1000
Next

二、读取聊天窗口中的所有文字
一般来说我们是从后往前读取文字,因为最新的聊天内容,都在屏幕的最下面。

Dim m=Element.GetAll()
For i =UBOUND(m) + 1 To 1
TracePrint m[i][“text”]
Next

三、判断读取的内容中是否有我们找到内容,比如我们是以端口作为标识的,那么就可以查找COM01

判断条件是:InStr(1, m[i][“text”], “COM01”)>0

四、提取验证文字中的验证码

COM02 173****3121 动态密码487681(切勿告知他人),该验证码用于***注册或登录,10分钟有效[******]

比如这段文字,我们提取的方法就是正则匹配连续的6个数字。

shanhai.RegexFind(m[i][“text”],”%d%d%d%d%d%d”)

五、由于获取验证码不是我们点击了发送,群里就立刻显示,需要我们重复循环获取,在获取到以后,跳出循环。

具体的代码如下:

对接群验证码脚本讲解
第4行代码由于太长,省略了一部分,完整的看操作逻辑第一步。

好了内容就这些,如果你喜欢,麻烦点一下右下角的在看,谢谢!


对接群验证码脚本讲解

原文始发于微信公众号(3分钟学堂):

除特别注明外,本站文章均为原创,转载请注明出处和链接!
本文链接地址: https://pumpkinit.com/782.html
Pumpkin  [https://pumpkinit.com]  感谢

发表评论

电子邮件地址不会被公开。 必填项已用*标注