lisaisacat 发表于 2022-1-13 16:59

【Lua】京东+金融+小程序活动通用代码(安卓手机无障碍权限)

本帖最后由 lisaisacat 于 2022-6-16 12:33 编辑

2022-06-16
618 活动搭配 RPA 已经在前天刷满级了,最近老有人问代码,更新下
京东 App——注意开头两张图需要自己在手机上截图完了之后保存到对应文件夹:Sdcard/Luabox/Project/你创建的项目名字文件夹
代码比较简单,需要手动做小程序、品牌墙和加购物车任务

--京东 1080x2340
done = "去完成.jpg"
list = "做任务得金币.jpg"

regiony0=1257
regiony=2055

function isJD()
    pkg = app.frontPackageName()
    bid = "com.jingdong.app.mall"
    if pkg ~= bid then
      toast("返回 App")
      mSleep(2000)
      app.runApp(bid)
      mSleep(1000)
    else
      toast("当前位置:狗东 App")
      mSleep(3000)
      wid= widget.find({["text"]="累计任务奖励"})
      if wid == nil then
            keycode.back()
            toast("返回")
            mSleep(5000)
      end
    end
end

while true do
isJD()
    x,y = image.findImageInRegion(list,820,1825,1023,1937,500000)--做任务集爆竹
    if x~=-1 and x~=-1 then
      toast("找到做任务得金币")
      event.tap(x,y)
      toast("做任务得金币")
      --mSleep(3000)
    end
   
    wid= widget.find({["ID"]="_n_87"})
    ifwidthen
      x,y = image.findImageInRegion(done,780,regiony0,1007,regiony,500000)--去完成任务
      if x~=-1 and x~=-1 then
            mSleep(2000)
            toast("找到按钮了"..x..","..y)
            event.tap(x,y)
            toast("去完成然后等待 12 秒")
            mSleep(12*1000)
            keycode.back()
            toast("返回")
            -- mSleep(5000)
      end
    end
end

金融


--金融 1080x2340
--2022-01-18 去掉领取顶部累计奖励
done = "去完成.jpg"
list = "做任务得金币.jpg"

function isJD()
    pkg = app.frontPackageName()
    bid = "com.jd.jrapp"
    if pkg ~= bid then
      toast("返回金融 App")
      mSleep(2000)
      app.runApp(bid)
      mSleep(1000)
    else
      toast("当前位置:金融 App")
      mSleep(3000)
      wid= widget.find({["text"]="累计任务奖励"})
      if wid == nil then
            keycode.back()
            toast("返回")
            mSleep(5000)
      end
    end
end

function backtolist()
    wid= widget.find({["text"]="累计任务奖励"})
    if wid == nil then
      keycode.back()
      toast("返回")
      mSleep(5000)
    end
end

while true do
    isJD()
    x,y = image.findImageInRegion(list,820,1825,1023,1937,500000)--做任务集爆竹
    if x~=-1 and x~=-1 then
      mSleep(2000)
      event.tap(x,y)
      toast("做任务得金币")
      mSleep(3000)
    end
   
    wid= widget.find({["text"]="累计任务奖励"})
    ifwidthen
      x,y = image.findImageInRegion(done,789,1231,992,1943,500000)--去完成任务
      if x~=-1 and x~=-1 then
            mSleep(2000)
            event.tap(x,y)
            toast("去完成然后等待 15 秒")
            mSleep(15*1000)
            wid= widget.find({["text"]="累计任务奖励"})
            if wid == nil then
                keycode.back()
                toast("返回")
                mSleep(5000)
                backtolist()
            end
      end
    end
end

小程序——建议用电脑刷,更加稳定快捷,还能做加购物车和浏览任务
电脑版微信小程序自动刷 618 任务——零代码可视化导入可用
https://www.52pojie.cn/thread-1643757-1-1.html
(出处: 吾爱破解论坛)


--小程序
done = "去完成.jpg"
list = "做任务得金币.jpg"

regiony0=990
regiony=2024

while true do
    x,y = image.findImageInRegion(list,818,1960,1039,2081,500000)--做任务集爆竹
    if x~=-1 and x~=-1 then
      toast("找到做任务得金币")
      event.tap(x,y)
      toast("做任务得金币")
      --mSleep(3000)
    end
   
    wid= widget.find({["ID"]="_n_87"})
    ifwidthen
      x,y = image.findImageInRegion(done,787,regiony0,1009,regiony,500000)--去完成任务
      if x~=-1 and x~=-1 then
            mSleep(2000)
            toast("找到按钮了"..x..","..y)
            event.tap(x,y)
            toast("去完成然后等待 12 秒")
            mSleep(12*1000)
            keycode.back()
            toast("返回")
            -- mSleep(5000)
      end
    end
end
2022-01-18
积木编程更新了最新版是 v1.0.5,修复了找图的 bug,现在手机截图也能找到了
2022-01-17
更新代码,提高了找图精准度
新版本必须配合 LuaBox v1.0.5 使用,目前在内测阶段,预计 18 号会发布
2022-01-14
更新:京东 App 第三行的图片居然长得和第二行不一样,于是又加了一个截图+找图
查找范围也扩大了些

连最基本的单词都不认识的不建议使用此方法,因为你肯定不会改也用不了
软件里有 1080x2340 和 1080x1920 分辨率的脚本可以下载,但是其他分辨率必须自己改坐标、重新截图
开发工具自行百度“触动精灵官网”下载,编辑器在【下载中心】页面
如果找不到,请关闭这个帖子,学习能力差到这个份上不建议学编程

https://static.52pojie.cn/static/image/hrline/1.gif

思路:查找安卓控件文字、找图
在活动主界面判断右下角的图


在任务列表界面查找控件(小程序不行)再找图
注意!!!因为小图是找到了返回左上角的坐标进行点击,为了防止点不到,一定要把按钮截取小一点


开发工具:触动精灵编辑器、积木编程 LuaBox(下载安装请自行百度)
说明:
该源码只提供了两种常见分辨率,其他分辨率需要自行修改坐标值(尤其是区域坐标,比如京东金融【去完成】我只找了第二行和第三行)
强烈建议使用官方提供编辑器进行编辑

LuaBox v1.0.5 已经修复了下面的 bug,所以可以用手机截图裁剪替换工程中的图片了,不过要注意源码中的图片格式,一般手机截图是 jpg
由于开发所用工具 bug,找图所用图片仅支持用代码截图裁剪,任何其他工具截图都找不到,截图裁剪代码在最上方那几段(划掉)


安装积木编程
1. 打开积木编程,弹出框选择【允许】


2. 点击下方【脚本】,点击上方【去开启】

3. 跳转到设置界面,在‘已安装程序”中找到“积木编程”,选择【确定】(注意此处只有自动跳转回到积木编程才算成功,否则需要关掉程序重新打开,重复4、5 步骤)


创建流程文件夹

[*]打开手机文件管理器,找到 /sdcard/LuaBox/Projects/,创建 4 个文件夹,分别为:京东、京东金融、京东小程序、res
[*]其中 res 文件夹是用来存放截图的,名字不可修改,其他的文件夹可以随便,只要你能分辨出来就行
[*]将下面的代码分别保存,命名为 main.lua,导入到对应的文件夹
[*]手机截图裁剪后移动到流程文件夹下(记得手动修改截图区域坐标)

修改源码坐标
[*]打开积木编程,在【脚本】界面点击右上角第二个坐标查看局域网 IP
[*]打开触动精灵脚本编辑器,点击【连接设备】,输入 IP,点击【连接】
[*]在手机上打开活动列表界面(如上图),点击【截图】
[*]点击【取色】打开获取坐标的窗
[*]查看坐标的方法:将鼠标放在左上角,查看坐标,再放在右下角,查看坐标;也可以按下 SHIFT 键+鼠标左键拖动获取坐标范围
[*]获取截图【去完成】按钮的坐标范围:由于找图返回的坐标是图片左上角,一定要取比按钮更小一圈的图(如下图黄框所示);将范围复制替换 img1 =image.crop 后面的坐标



7. 获取查找【去完成】按钮的坐标范围:由于是在该范围内查找图片,在避开【去分享】按钮的情况下,尽量取更大的范围(如下图红框所示);将范围复制替换”去完成“任务行的坐标



8. 京东加购、浏览、领奖励坐标也使用类似的方法替换编辑,不一一列举。京东 App 需要替换的坐标最多,金融次之,小程序最少。京东的去完成因为第二个和第三个图片不一致,所以截取了两次。
9. 运行时打开任务列表界面,先运行一下最上面那几段的截图代码(要一张一张截图),再注释掉

对应的图片分别为:
done



list



award——绿色为查找范围




代码(实时更新):https://gitee.com/lisaisacat/jd


一剑封侯人 发表于 2022-9-18 14:10

lisaisacat 发表于 2022-1-14 11:56
对,每份代码最上方就是用来截图的,注意需要修改坐标,手动截图不能识别,只能用代码截图。

姐姐,我用截图这段代码怎么无法截取手机的图呢,显示脚本运行完成,但是res里面没有,这个需要绝对路径吗?
panl = "/sdcard/LuaBox/Projects/res/平行时空.jpg"
--[[image = image.snapshot()
image1 = image.crop(image,864,1964,956,2071)
mSleep(1000)
image.save(image1,panl)
mSleep(1000)--]]

lisaisacat 发表于 2022-10-19 12:02

一剑封侯人 发表于 2022-10-19 05:15
mate40p鸿蒙3.0

你是一直截图失败还是偶尔失败,可以看看截图权限是不是还在,无障碍很容易在使用过程中丢失权限:
可以检测下截屏的结果
img = image.snapshot()
if imgthen
    dialog("截屏成功",5000)
else
    dialog("截屏失败",5000)
end

阿傑 发表于 2022-1-13 17:04

看不到图片了

禁止模仿 发表于 2022-1-13 17:05

图片怎么看不到!是我的问题吗?

af8889 发表于 2022-1-13 17:06

图片都被防盗链处理,看不到了。

candelo 发表于 2022-1-13 17:06

感谢楼主的辛劳付出,后面的图片看不到了

tslace 发表于 2022-1-13 17:13

菜鸡不会用,顶下大佬~~

lisaisacat 发表于 2022-1-13 17:14

阿傑 发表于 2022-1-13 17:04
看不到图片了

从在线文档粘贴过来,结果防盗链了,已更新

lisaisacat 发表于 2022-1-13 17:14

图片已更新~

lisaisacat 发表于 2022-1-13 17:21

禁止模仿 发表于 2022-1-13 17:05
图片怎么看不到!是我的问题吗?

已更新图片

你是我的人 发表于 2022-1-13 17:24

感谢大佬分享
页: [1] 2 3 4 5 6 7 8
查看完整版本: 【Lua】京东+金融+小程序活动通用代码(安卓手机无障碍权限)