我看到有很多人们在卖一款手机软件,价钱还有点儿小贵。我便想能无法自己做一款共享给大家,如今我而言一讲我这个demo的思路。
利用Python去操纵我们的手机上,那样的话24小时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,解析xmlY座标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\')
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。