u2和airtest强强联合,薅小游戏羊毛
一、图片无法定位
之前一直想薅小游戏的羊毛,比如种果树免费得水果。可是这些小游戏页面是一张图片,u2无法定位,只能用坐标或图片识别。用坐标容易出错,适用性极差,图片识别好一些。可是u2的图片识别非常拉,错多对少。airtest图片识别准确,但我的脚本都是以u2为基础,u2和airtest自成体系,没法兼容。曾尝试放弃u2,用airtest体系,可poco不好用。所以最终搁置了。
二、山穷水尽,寻求方法
自动浏览时间长了,收益逐渐走低。于是就尝试搞小厂的,结果小厂套路太多:广告一大堆,关闭方式千奇百怪(这能忍);可提现要么每天有名额限制,要么要分享,反正各种不能提现(不能忍)。被这些小厂app搞得心力憔悴。
大厂收益变低,小厂套路多。要山穷水尽时,在隔壁发现,人家都在搞游戏。虽然是小厂,可提现秒到,套路也明晰。所以决定尝试下游戏。
单独适用u2或airtest都不行,那能不能把它俩结合起来?
三、看源码找到方法
要想把它俩结合,得深入源码。我发现,airtest的图片识别之所以比u2好,关键是有一个Template类,它输入图片,坐标和手机分辨率,调用查找方法,返回的是一个坐标。如果能把它单独拿出来结合u2就ok了。
另外CV2有一个方法申请了专利,而airtest调用了它,如果用pip来安装aitest,每次都会报错,识别也大打折扣。我曾尝试网上的各种方法降级CV2,可不成功。最后用笨方法,直接把airtest整个包复制到python环境下,竟然能完美运行。哈哈。
四、一些小问题
1、比较繁琐
需使用airtest的客户端截图,得到图片和Template类。然后把图片保存到指定位置,把源码复制修改为自己的Template类。然后再在脚本框架下编写逻辑。
2、手机适配不佳
部分小的图片,换了手机就无法识别。
3、相同图片容易出错
有些是相同的图片,比如某C浏览器的金猪任务有很多个''去完成",都是文字,识别率低。所以经常容易出错。
五、总比没有好
虽然有上面那些问题,但也是一大进步。在图片识别不出来的情况下,辅助坐标点击,基本可以解决小型游戏薅羊毛。