文章资讯
常见的免费网络推广工具有哪些,8类免费实用网络营销工具推荐
2022-05-22 18:45  浏览:15

我看到有很多人在卖一款软件,价格还有点小贵。我就想着能不能自己做一款分享给你们,现在我来讲一讲我这个demo的思路。

利用Python去控制咱们的手机,这样的话全天24小时你可以解放你自己的双手,功能的话可以根据自己的需求多样化。

既然要控制手机,那么咱们需要利用到一个工具 ADB ,这个东西叫做安卓控制桥梁,显而易见,只能控制Android系统。学过逆向的同学对这款工具应该不陌生吧?

我们今天来做个小案例,实现dy自动关注脚本。

第一步:利用Python来对手机进行截屏并保存图片

def sreencap():    os.system('adb shell screencap -p /sdcard/screen.png')    os.system('adb pull /sdcard/screen.png')

第二步:找坐标

在这里我就不讲其它的思路了,直接讲我的思路。根据颜色差进行判断点击,首先我们可以发现每个关注的按钮它的横坐标是不变的,变动的只有纵坐标

那么我们可以去查看当前某个点的横坐标位置作为定值

很明显可以看到咱们的屏幕像素为1080x1920,而注字的那个顶点位置的横坐标为929至于纵坐标1483这个值对我们没有任何意思,当你往下移动看到另一个注字的时候,横坐标929不变,纵坐标会发生变化。

此时有人会想到每个注字之间的距离是一致的,那么能不能每隔一段距离就点击一下呢?

不行,如果是这种情况你该如何?第一次的点击位置在哪里如何确定?

第三步:找出颜色差

可以发现这个顶点位置的RGB颜色值为(254,76,111),那么思路就来了,取X为定值929,遍历Y坐标1920,判断这条线上的所有像素点,是否有颜色值为(254,76,111)的,如果有,就取出这个点,然后进行模拟点击不就好了吗?

def getY_position():    y_list=[]    image = Image.open('screen.png')    for i in [929]:        for y in range(1920):            if image.getpixel((i,y)) == (254, 76, 111, 255):                 y_list.append(y)	return y_list

第四步:模拟点击

y_position = getY_position()for y in y_position:    os.system('adb shell input tap 929 {}'.format(y))

你以为这样就结束了? NO! 咱们还需要翻页,往下滑动呀!

os.system('adb shell input swipe X1 Y1 X2 Y2')