|
本帖最后由 jhtzz 于 2022-11-23 20:17 编辑
在网上转了一圈搞到一个苹果自动化的方案,今天找到一个用硬件实现的,迅速写了抖音试试,很快就写好了。先从桌面上找到抖音。。。。模拟手向上滑。模拟搜索等。
.版本 2
.支持库 spec
.程序集 窗口程序集_启动窗口
.子程序 _按钮1_被单击
.局部变量 json, 类_json
.局部变量 属性名数组, 文本型, , "0"
.局部变量 i, 整数型
.局部变量 索引, 整数型
json.解析 (iosauto获取设备列表 (), , )
调试输出 (json)
.子程序 命令回调
.参数 data, 文本型
.局部变量 功能号, 文本型
.局部变量 json, 类_json
json.解析 (data, , )
功能号 = json.取通用属性 (“fun”, )
.判断开始 (功能号 = “connect”)
写日志 (“连接成功”)
' _获取设备列表_被单击 ()
' _获取usb列表_被单击 ()
.判断 (功能号 = “connect_exception”)
写日志 (“连接异常”)
.判断 (功能号 = “connect_disconnect”)
写日志 (“连接断开”)
.判断 (功能号 = “dev_connect” 或 功能号 = “dev_disconnect”)
' 有手机连接或断开 (json)
.判断 (功能号 = “dev_rotate”)
写日志 (“手机屏幕发生旋转”)
.判断 (功能号 = “usb_change”)
写日志 (“usb设备发生改变”)
.判断 (功能号 = “mouse_collection_cfg_ret”)
写日志 (“鼠标参数采集返回”)
.判断 (功能号 = “collection”)
写日志 (“手机打开采集页面回调”)
.判断 (功能号 = “send_text_ok”)
写日志 (“发送字符成功”)
.默认
.判断结束
' 写日志 (data)
.子程序 图片回调
.参数 Data, 整数型, , 数据地址
.参数 DataLen, 整数型, , 数据长度
.局部变量 所有内容, 字节集
.局部变量 deviceidcc, 字节集
.局部变量 图片字节集, 字节集
所有内容 = 指针到字节集 (Data, DataLen)
deviceidcc = 字节集_取左边 (所有内容, 261)
图片字节集 = 字节集_取右边 (所有内容, DataLen - 261)
输出调试文本 (字节集_到文本 (deviceidcc))
图片框1.图片 = 图片字节集
.子程序 写日志
.参数 内容, 文本型
日志框.加入文本 (内容 + #换行符)
.子程序 __启动窗口_创建完毕
置随机数种子 (取启动时间 ())
deviceid = “88:64:40:06:C6:53” ' “DC:2B:2A:14:2A:F6” ’手机mac
iosauto初始化 (“127.0.0.1”, &命令回调, &图片回调)
iosauto启动 ()
.子程序 _按钮2_被单击
.局部变量 索引, 整数型
.局部变量 json, 类_json
.局部变量 返回内容, 文本型
.局部变量 gzip, 文本型
.局部变量 img, 字节集
.局部变量 图片字节集, 字节集
返回内容 = iosauto截取设备屏幕 (deviceid, 真, 假)
调试输出 (返回内容)
json.解析 (返回内容, , )
img = 到字节集 (json.取通用属性 (“data.img”, ))
gzip = json.取属性对象 (“data.gzip”)
.如果 (gzip = “false”)
img = 编码_BASE64解码A (img, )
.否则
img = 网页_GZIP解压 (编码_BASE64解码A (img, ))
.如果结束
图片框1.图片 = img
.子程序 _按钮3_被单击
.局部变量 返回内容, 文本型
子程序1 (8, “adsfasd|*())_+_{}<>L:[]\\”, , , )
.子程序 子程序1
.参数 id, 整数型
.参数 参数1, 文本型, 可空
.参数 参数2, 文本型, 可空
.参数 参数3, 文本型, 可空
.参数 参数4, 文本型, 可空
.局部变量 索引, 整数型
.局部变量 返回内容, 文本型
.局部变量 json, 类_json
.局部变量 can
.判断开始 (id = 0) ' 删除设备
返回内容 = iosauto删除设备 (deviceid)
.判断 (id = 1) ' 修改名称
返回内容 = iosauto设置设备 (deviceid, , , , , 参数1)
.判断 (id = 2) ' 鼠标单击
返回内容 = iosauto鼠标单击 (deviceid, 参数1, 到整数 (参数2), 到整数 (参数3), )
.判断 (id = 3) ' 鼠标滑动
返回内容 = iosauto鼠标滑动 (deviceid, 参数1, 参数2, 0.7, , , , , )
.判断 (id = 4) ' 鼠标弹起
返回内容 = iosauto鼠标弹起 (deviceid, 参数1)
.判断 (id = 5) ' 鼠标按下
返回内容 = iosauto鼠标按下 (deviceid, 参数1)
.判断 (id = 6) ' 鼠标移动
返回内容 = iosauto鼠标移动 (deviceid, 到整数 (参数1), 到整数 (参数2))
.判断 (id = 7) ' 鼠标复位
返回内容 = iosauto鼠标复位 (deviceid)
.判断 (id = 8) ' 键盘输入
返回内容 = iosauto键盘输入 (deviceid, 参数1, )
.默认
.判断结束
调试输出 (返回内容)
.子程序 _按钮4_被单击
.局部变量 json, 类_json
.局部变量 byte, 字节集
.局部变量 tmp, 文本型
byte = 读入文件 (“D:\ScreenSrv\ScreenControl\Screenshot\右上角查找.png”)
tmp = iosauto查找图片 (deviceid, byte)
json.解析 (tmp, , )
调试输出 (“返回”, tmp)
.如果真 (json.属性是否存在 (“data.code”) 且 json.取属性数值 (“data.code”) = 0)
调试输出 (“找到”, json.取属性 (“data.result”).取成员 (0).取属性数值 (), json.取属性 (“data.result”).取成员 (1).取属性数值 ())
子程序1 (2, “left”, json.取属性 (“data.result”).取成员 (0).取数据文本 (), json.取属性 (“data.result”).取成员 (1).取数据文本 (), )
.如果真结束
.子程序 _按钮5_被单击
.局部变量 json, 类_json
.局部变量 byte, 字节集
.局部变量 tmp, 文本型
' tmp = iosauto查找图片 (deviceid, byte)
.子程序 _按钮6_被单击
.局部变量 json, 类_json
.局部变量 byte, 字节集
.局部变量 tmp, 文本型
.局部变量 i, 整数型
' 子程序1 (3, “up”, “left”, , ) '滑动
' 子程序1 (6, “382”, “67”, , )
' 子程序1 (2, “left”, “382”, “67”, ) ' 移动点击
' 延时 (500)
' 子程序1 (8, “1057716415”, , , )
' 延时 (500)
' tmp = iosauto键盘输入 (deviceid, “”, “ENTER”)
' json.解析 (tmp, , )
' 调试输出 (“返回”, tmp)
.计次循环首 (99, i) ' 1...99
调试输出 (“返回”, i)
.计次循环尾 ()
.子程序 找图点击, 逻辑型
.参数 file, 文本型
.参数 isClick, 逻辑型
.局部变量 json, 类_json
.局部变量 byte, 字节集
.局部变量 tmp, 文本型
.局部变量 i, 整数型
.局部变量 ok, 逻辑型
.局部变量 j, 整数型
byte = 读入文件 (file)
ok = 假
.计次循环首 (5, i) ' 1...99
tmp = iosauto查找图片 (deviceid, byte)
json.解析 (tmp, , )
调试输出 (“找图返回”, i, tmp)
.如果真 (json.属性是否存在 (“data.code”) 且 json.取属性数值 (“data.code”) = 0)
' 调试输出 (“找到主屏幕图标”, json.取属性 (“data.result”).取成员 (0).取属性数值 (), json.取属性 (“data.result”).取成员 (1).取属性数值 ())
' 写日志 (“找到主屏幕图标”)
.如果真 (isClick)
子程序1 (2, “left”, json.取属性 (“data.result”).取成员 (0).取数据文本 (), json.取属性 (“data.result”).取成员 (1).取数据文本 (), )
.如果真结束
ok = 真
跳出循环 ()
.如果真结束
延时 (500)
.计次循环尾 ()
返回 (ok)
.子程序 _按钮7_被单击
.局部变量 json, 类_json
.局部变量 byte, 字节集
.局部变量 tmp, 文本型
.局部变量 i, 整数型
.局部变量 ok, 逻辑型
.局部变量 j, 整数型
ok = 找图点击 (“D:\ScreenSrv\ScreenControl\Screenshot\抖音图标.bmp”, 真)
写日志 (“找到主屏幕图标:” + 到文本 (ok))
.如果真 (ok = 假)
返回 ()
.如果真结束
ok = 找图点击 (“D:\ScreenSrv\ScreenControl\Screenshot\首页.bmp”, 假)
写日志 (“找到首页图标:” + 到文本 (ok))
.如果真 (ok = 假)
返回 ()
.如果真结束
.计次循环首 (5, i) ' 1...99
j = 取随机数 (4, 15)
' 调试输出 (“随机向上滑动,延时:”, j)
写日志 (“随机向上滑动,延时:” + 到文本 (j))
延时 (j × 1000)
子程序1 (3, “up”, “left”, , )
.计次循环尾 ()
j = 取随机数 (4, 10)
' 调试输出 (“随机向上滑动,延时:”, j)
写日志 (“随机向上滑动,延时:” + 到文本 (j))
延时 (j × 1000)
写日志 (“开始搜索”)
子程序1 (2, “left”, “382”, “67”, ) ' 移动点击
延时 (1000)
子程序1 (8, “1057716415”, , , )
延时 (500)
iosauto键盘输入 (deviceid, “”, “ENTER”)
写日志 (“搜索完毕”)
ok = 找图点击 (“D:\ScreenSrv\ScreenControl\Screenshot\搜索里面的用户.bmp”, 真)
写日志 (“搜索里面的用户:” + 到文本 (ok))
.如果真 (ok = 假)
返回 ()
.如果真结束
写日志 (“进入私信”)
ok = 找图点击 (“D:\ScreenSrv\ScreenControl\Screenshot\私信.bmp”, 真)
写日志 (“进入私信:” + 到文本 (ok))
.如果真 (ok = 假)
返回 ()
.如果真结束
写日志 (“发私信”)
写日志 (“私信-打招呼”)
ok = 找图点击 (“D:\ScreenSrv\ScreenControl\Screenshot\私信-打招呼.bmp”, 真)
写日志 (“私信-打招呼:” + 到文本 (ok))
.如果真 (ok = 假)
返回 ()
.如果真结束
延时 (1000)
写日志 (“私信-打招呼”)
ok = 找图点击 (“D:\ScreenSrv\ScreenControl\Screenshot\私信-返回上一级.bmp”, 真)
写日志 (“私信-返回上一级:” + 到文本 (ok))
.如果真 (ok = 假)
返回 ()
.如果真结束
子程序1 (6, “100”, “100”, , )
延时 (1500)
子程序1 (2, “left”, “67”, “518”, )
写日志 (“留言区”)
byte = 读入文件 (“D:\ScreenSrv\ScreenControl\Screenshot\留言区.bmp”)
ok = 假
.计次循环首 (5, i) ' 1...99
tmp = iosauto查找图片 (deviceid, byte)
json.解析 (tmp, , )
调试输出 (“找图返回”, i, tmp)
.如果真 (json.属性是否存在 (“data.code”) 且 json.取属性数值 (“data.code”) = 0)
子程序1 (2, “left”, 到文本 (json.取属性 (“data.result”).取成员 (0).取属性数值 () - 100), json.取属性 (“data.result”).取成员 (1).取数据文本 (), )
ok = 真
跳出循环 ()
.如果真结束
延时 (500)
.计次循环尾 ()
写日志 (“留言区:” + 到文本 (ok))
.如果真 (ok = 假)
返回 ()
.如果真结束
延时 (1000)
子程序1 (6, “100”, “100”, , )
子程序1 (8, “tetesd123456789”, , , )
写日志 (“留言区-发送”)
ok = 找图点击 (“D:\ScreenSrv\ScreenControl\Screenshot\留言区-发送.bmp”, 真)
写日志 (“留言区-发送:” + 到文本 (ok))
.如果真 (ok = 假)
返回 ()
.如果真结束
延时 (500)
子程序1 (2, “left”, “21”, “69”, )
子程序1 (6, “100”, “100”, , )
写日志 (“搜索-返回上一级”)
ok = 找图点击 (“D:\ScreenSrv\ScreenControl\Screenshot\搜索-返回上一级.bmp”, 真)
写日志 (“搜索-返回上一级:” + 到文本 (ok))
.如果真 (ok = 假)
返回 ()
.如果真结束
子程序1 (6, “100”, “100”, , )
写日志 (“搜索-返回上一级”)
ok = 找图点击 (“D:\ScreenSrv\ScreenControl\Screenshot\私信-返回上一级.bmp”, 真)
写日志 (“私信-返回上一级:” + 到文本 (ok))
.如果真 (ok = 假)
返回 ()
.如果真结束
子程序1 (6, “100”, “100”, , )
写日志 (“搜索-返回上一级”)
ok = 找图点击 (“D:\ScreenSrv\ScreenControl\Screenshot\私信-返回上一级.bmp”, 真)
写日志 (“私信-返回上一级:” + 到文本 (ok))
.如果真 (ok = 假)
返回 ()
.如果真结束
.计次循环首 (5, i) ' 1...99
j = 取随机数 (4, 15)
调试输出 (“随机向上滑动,延时:”, j)
写日志 (“随机向上滑动,延时:” + 到文本 (j))
延时 (j × 1000)
子程序1 (3, “up”, “left”, , )
.计次循环尾 ()
视频:如何自动操作抖音发私信。_哔哩哔哩_bilibili [https://www.bilibili.com/video/BV1ZY411o7Zd/]
下载
抖音.rar
(282.43 KB, 下载次数: 51)
|
|