基于雷电模拟器的python脚本(乱斗西游2自动收礼包)

您所在的位置:网站首页 雷电模拟器源码是什么 基于雷电模拟器的python脚本(乱斗西游2自动收礼包)

基于雷电模拟器的python脚本(乱斗西游2自动收礼包)

2024-01-20 19:32| 来源: 网络整理| 查看: 265

目录

前言

一、滑动点击&截图

二、图片比对

三、文字识别 

四、与Excel联动

总结

部分源码展示:

前言

        乱斗不过是个过气的网易弃游罢了。

        额,虽然但是,作为在安卓2战区享有一定知名度的打工仔,每天无脑上100来个号,重复几个固定操作也是着实让我有点厌恶。因此,我乘着寒假这几天用尽毕生所学写了个自动买礼包的python程序,实现了从自动买礼包到自动记录在Excel上的一系列小功能。这一举动也成功将我带上了自动化耕作的道路,从此解放了双手,过上了幸福美满的生活(狗头)。

       这个脚本的终极目标是买礼包与记录,分解下来只需要实现以下几个功能即可:滑动点击、截取图片、图片比对、文字识别、操作Excel表格。

       下面我来一一介绍如何解决。 

一、滑动点击&截图

       其实实现这一步是比较简单的,一开始我用的模块PyMouse,直接操纵鼠标对雷电模拟器进行操作,后面发现这实在是太拉了:首先得固定雷电模拟器的分辨率和桌面上的相对位置,每次位置必须一样程序才有效,其次运行期间我打不了LOL啥的,甚至不能操作鼠标。显然这不能满足我的要求。于是我另寻他法,发现了雷电模拟器的新天地--adb,直接调用雷电的内部命令行,轻易的实现了目的操作。    

       安装好雷电模拟器之后,大家可以在安装目录下面找到ldconsole.exe和ld.exe两个命令行程序。ld命令用来执行adb命令,而ldconsole.exe更是重量级,它可以控制模拟器参数的设定,包括imei,序列号,手机号分辨率等等参数,还可以检测和控制模拟器的启动和关闭。甚至能够模拟输入,按键,滑动等操作。 

       以下是用来自雷电论坛官方论坛中的提示写的几个简单函数:

def touch(index: int, x: int, y: int): # 点击 Dnconsole.touch(index, x, y, 0) time.sleep(0.5) def touch_01(index: int, x: int, y: int, z: int, w: int): # 长按 Dnconsole.touch(index, x, y, 0) for i in range(0, z): Dnconsole.touch(index, x, y, 0) time.sleep(w) def swipe(index: int, x1: int, y1: int, x2: int, y2: int): # 滑动 A = [x1, y1] B = [x2, y2] Dnconsole.swipe(index, A, B) time.sleep(1.5)

截图功能虽然简单,但是里面没有现成的,我摸索着搞出了一个函数:

def screen(index: int): cmd = "adb -s 127.0.0.1:5559 shell screencap -p /sdcard/Pictures/Screenshots/two.png" os.popen(cmd) time.sleep(0.5)

-p后面是截图保存的地址,-s后面是模拟器的序列号,在cmd中输入adb devices即可得到。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3