1. 配置Python环境变量

Python环境变量安装较为简单,比较常用的方式是直接百度Anaconda并且下载安装,安装过程中可直接选择自动配置环境变量,在此不再赘述。

2. 安装Python编辑器,并在其中配置Python

编辑器常用的是PyCharm,属于和IDEA一家公司的软件,这个软件对于学生有免费优惠,大学生可以直接去它官网申请,好像是需要一年一申,当然不缺钱的话也可以直接购买。

3. 安装控制包uiautomator2,和其它辅助包

安装完后,想要控制手机,还需要安装一个Python包uiautomator2,直接使用命令行中的pip安装即可。
# GitHub地址:
# https://github.com/openatx/uiautomator2pip install uiautomator2  # 这个包是用于控制手机
pip install pillow  # 这个包用于截图
pip install -U weditor  # 这个包是可以调试,在浏览器页面上直观的获取某个控件名称

4. 安装adb

adb全称叫做android调试桥(Android Debug Bridge),是Android官方谷歌公司开发的连接电脑与手机的插件,一般来说是包含在Android Studio之中下载的,当然我们在此处用不到Studio的其它功能,因此只下载adb包即可。

下载链接如下:

SDK Platform Tools 版本说明  |  Android 开发者  |  Android DevelopersAndroid SDK Platform-Tools 是 Android SDK 的一个组件。https://developer.android.google.cn/studio/releases/platform-tools?hl=zh_cn这个链接下载的名称叫做Platform Tools,其中是包含adb工具的,其名称为adb.exe,与之相关的还有几个以ADB开头名称的文件。将此压缩包解压之后,放在系统的任意位置,然后将此位置加入Path环境变量即可。这样我们就可以在系统的任意位置调用到此exe文件。

5. adb调用

将手机通过USB数据线连接至电脑,打开开发者模式,并开启USB调试,并且开启允许电脑通过USB向手机安装软件等权限。接收电脑发来的链接秘钥并链接。

(使用Python包uiautomator2控制手机时,需要在手机上安装app)

在电脑中使用WIN+R弹出运行框,在框内输入cmd调用命令行窗口。在窗口中输入如下命令:

adb devices

窗口会打印当前USB所连接的手机信息,如果没有手机连接,将会显示如下信息,这时需要检查手机连接的USB线是否正常,并且检查开发者模式是否打开等等。当然如果直接报错找不到adb命令,则需要检查adb相关配置是否完成。

C:\Users\Administrator>adb devices
List of devices attachedC:\Users\Administrator>|

如果完全正常,且手机已经链接,则将会显示如下信息:

C:\Users\Administrator>adb devices
List of devices attached
9phqaetw        device
afdsaf4         deviceC:\Users\Administrator>|

在List of devices attached这一行之后,有几行信息,便说明已经有几个设备已经链接到ADB调试桥,而在每一行开头,device之前的那一串字符串,便是设备的标志码。通过设备的标志码,我们就可以链接到指定的设备,当然如果本台电脑上只链接有一块手机,此标志码可以不记,如果链接有多块手机,则需要记录每一个标志码,以及标志码对应的实际手机设备。

如果不知道哪个标志码对应哪台设备,则可以将其中一个USB拔出,再输入命令,反复查看,以此确认标志码与设备之间一一对应的关系。

6、设备安装ATX

在命令行执行如下命令,在手机上安装ATX软件。如果手机上没有安装此APP,uiautomator2将无法控制手机。

python -m uiautomator2 init

7. 编写Python代码进行控制手机

比较简单的控制方式是:

# 引用uiautomator2包
import uiautomator2 as u2# 使用设备唯一标志码链接设备,其中9phqaetw是通过adb获取的设备标志码
d = u2.connect('9phqaetw')
# d = u2.connect()  # 当前只有一个设备时可以用这个d.unlock()  # 解锁屏幕x,y = 100,100
d.click(x,y)  # 点击屏幕坐标为 x,y 的点# 双击屏幕
d.double_click(x,y)# 长按
d.long_click(x,y)# 单机屏幕上字符为9的控件
d(text="9").click()

例如我们写一个比较简单的解锁屏幕代码,假设锁屏密码是486570:

# 引用uiautomator2包
import uiautomator2 as u2
import time# 使用设备唯一标志码链接设备,其中9phqaetw是通过adb获取的设备标志码
d = u2.connect('9phqaetw')
# d = u2.connect()  # 当前只有一个设备时可以用这个d.unlock()  # 解锁屏幕
time.sleep(2)  # 等待手机反应2秒钟# 锁屏密码
password = "486570"# 输入锁屏密码
for c in password:d(text=c).click()time.sleep(0.3)  # 间隔0.3秒单击一次屏幕

8. 更多使用方式

上述代码运行成功后,基本上就可以控制手机了。uiautomator2具备较多功能,在此不再赘述,百度具有较多资料。

9. weditor调试工具

weditor用于查看手机当前状态、用浏览器控制手机、调试手机,还可以实时的查找控件中的text属性以及其它属性值等等。

第一种打开方式是在命令窗口输入:

python -m weditor

第二种方式是在桌面创建快捷方式,在命令窗口输入:

weditor --shortcut

在桌面会自动创建一个名为WEditor的图标,双击即可。

打开weditor后会出现一个信息调试框,并且会自动打开默认浏览器跳转至调试页面,关闭调试框和浏览器页面其中任一个,weditor即被关闭。注意如果默认浏览器为IE的话,不知道支持与否,或可自行尝试。调试页面如下图所示:

在顶部可以切换静态调试还是实时,如果是实时情况下,则会跟随手机进行实时界面切换。

最左侧为手机界面;中间根据点选屏幕空间的不同,显示不同的控件属性;最右侧可使用Python代码进行书写和调试。

使用Python控制手机(一)相关推荐

  1. 使用Python控制手机(二)关于淘宝的那些事

    1. 序言 每年淘宝双十一的时候,总是要刷各种各样的浏览页面,收集能量或者喵币或者什么. 那既然如此,我就总想着,能否通过Python自动调用的方式来刷网页. 2. 前置工作 本文是基于使用Pytho ...

  2. 用python控制手机电脑拍照并自动发送邮箱

    文章目录 本文思路 视频讲解 代码部分 兄弟们,这个是正经的教程,不要拿来乱用,可以自己用自己的电脑或者手机试,但是别搞别人,懂的都懂! 本文思路 通过opencv调用摄像头拍照保存图像本地 用ema ...

  3. Python控制手机,五排上分

    当你想抢王者聊天频道的皮肤碎片红包,或者想和小姐姐(小哥哥)开游戏的时候.可以使用python自动化工具,进行自动化加入开黑房间(一般小姐姐开黑会开语音,然后就会有大佬带,然后就容易上分,哈哈哈).然 ...

  4. python控制手机

    文章目录 1.首先安装依赖环境,uiautomator2和其他依赖包 2.需要安装Adb环境 3.需要设备安装ATX 编写Python代码进行控制手机 4.ui的一些操作命令如下: 1.链接设备 2. ...

  5. uiautomator2 adb 安装与运行 python控制手机软件

    研究了三天才搞定的python自动化控制手机软件,将学到的步骤和遇到的各种坑在这里记录下来,方便我之后查找 写代码前的准备工作 一.下载adb软件.添加环境变量.调试 1.0 下载adb https: ...

  6. python 控制 手机来进行操作皇室战争要卡

    我玩皇室战争,几乎每天都会上线要卡:然后我想了下有没有一个脚本,能够实现自动要卡, 所以我经过3天的研究,最后是做出来了 我现在在这里总结一下. 首先使用pycharm创建一个项目 然后安装几个第三方 ...

  7. Python控制手机下欢乐五子棋,半天时间1段到9段,90%+的胜率,就无敌

    国庆节闲来无事,突然想到儿时玩的五子棋于是打开手机-小程序-欢乐五子棋.下了2把感觉太费脑子了.想到之前有个五子棋引擎,叫羿心.然后开始找官网,找到了尼玛居然官网挂了.于是就上GitHub上面去找,居 ...

  8. python控制手机自动刷新闻_Python脚本利用adb进行手机控制的方法

    一. adb 相关命令: 1. 关闭adb服务:adb kill-server 2. 启动adb服务 adb start-server 3. 查询当前运行的所有设备 adb devices 4. 可能 ...

  9. python控制手机模拟器_Appium+python自动化之连接模拟器并启动淘宝APP(超详解)...

    简介 上一篇讲解完模拟器的安装.配置好以后,就好比我们手机已经买好,并且系统已经做好了,就差我们用数据线和电脑连接开始实战了,这篇宏哥就带着小伙伴们和童鞋们趁热打铁,讲解和分享一下如何连接模拟器(电脑 ...

最新文章

  1. 剑指offer:面试题09. 用两个栈实现队列
  2. 博士生在没有导师指导的情况下,该如何自己选题发 CVPR ?
  3. TreeMap源码分析,看了都说好
  4. Tiny4412 Android5.0 定制:编译生成img后如何删除原厂的apk
  5. Linux安装软件时缺少依赖包的简单较完美解决方法!
  6. linux作业(第四章练习题)
  7. Linux 之 编译器 gcc/g++参数详解
  8. while和do-while的区别
  9. 【地球科学】使用USGS下载指定地区的遥感影像
  10. 基于51单片机WiFi温湿度远程控制
  11. drcom宽带认证登录超时_drcom宽带认证客户端登录超时
  12. Hand Crafted 特征 PK 纯学习的特征提取方法
  13. 基于Uniapp实现的在线投票App问卷调查
  14. 周易六十四卦——震为雷卦
  15. 带孩子们做环球旅行的读后感_年轻爸妈别糊涂,这些奶奶、姥姥们不适合带孩子...
  16. linux设备驱动(3)--LED字符驱动
  17. SQLyog免费下载地址
  18. Java struts mysql实现的薪资工资管理系统源码+运行教程
  19. 人生感悟--------藏锋
  20. MIT 操作系统 jos make grade出现no jos.out

热门文章

  1. python学习笔记_week22
  2. 3.1 Xilinx系列产品介绍
  3. 超详细教程,一文入门Istio架构原理及实战应用
  4. 台式计算机找不到无线连接,我的win7台式机找不到无线网卡解决方法介绍
  5. ubuntu16.04安装ROS Kinetic(保姆式安装)
  6. 十位以内得自幂数_10以内加减法技巧,一年级数学考试必考
  7. unity2D物体朝向并靠近鼠标位置,击退效果
  8. 朝鲜APT组织使用带后门IDA软件攻击安全研究人员
  9. UVa 11549 Calculator Conundrum (训练指南,Floyd 判圈算法)
  10. 我们应该有一个属于我们自己的游戏 我是一只单飞的鸟