Python控制手机_能控制玩手机的软件

Python控制手机_能控制玩手机的软件1.配置Python环境变量Python环境变量安装较为简单,比较常用的方式是直接百度Anaconda并且下载安装,安装过程中可直接选择自动配置环境变量,在此不再赘述。2.安装Python编辑器,并在其中配置Python编辑器常用的是PyCharm,属于和IDEA一家公司的软件,这个软件对于学生有免费优惠,大学生可以直接去它官网申请,好像是需要一年一申,当然不缺钱的话也可以直接购买。3.安装控制包uiautomator2,和其它辅助包安装完后,想要控制手机,还需要安装…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1. 配置Python环境变量

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

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

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

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

安装完后,想要控制手机,还需要安装一个Python包uiautomator2,直接使用命令行中的pip安装即可。
# GitHub地址:
# https://github.com/openatx/uiautomator2

pip 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 的一个组件。Python控制手机_能控制玩手机的软件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 attached


C:\Users\Administrator>|

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

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


C:\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代码进行书写和调试。 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/169900.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • apktool反编译详细使用教程「建议收藏」

    apktool反编译详细使用教程「建议收藏」apktool反编译详细使用教程,包括每个细节。还有为什么反编译不成功,反编译出现的各种情况将为大家详细写出来,如有写的不好的地方还请见谅,这些都是本人自学的,曾经请教过大神,让我悲剧的是尽然无一人为我解答,后只有自己琢磨,所以本人看不惯那些大神的高傲姿态,不就会个反编译,会做美化包,整个内核,相信我写完教程后大家都将会自己制作美化包。学完反编译后你们就可以自己制作美化包了。当然有一些大神除外..

  • A股30年历史的拐点和暗示(大盘篇)

    A股30年历史的拐点和暗示(大盘篇)转A股30年,历史的拐点和暗示(大盘篇)来源:主动型量化   作者:刘帅路————————————————————————————–拓展阅读:1.集合竞价选股2.七种量化选股模型…

  • Qt QStringList的简单使用方法「建议收藏」

    Qt QStringList的简单使用方法「建议收藏」从QList继承而来,它提供快速索引为基础的接入以及快速插入和清除其成员函数用于操作这个字符串列表如append(),insert(),replace(),removeAll(),removeAt(),removeFirst(),removeLast(),andremoveOne()等1.  增加字符串  可以通过append(),或使用  QString

  • 读完了csapp(中文名:深入理解计算机系统)

    读完了csapp(中文名:深入理解计算机系统)

    2021年11月30日
  • 手动创建线程池_创建线程池的5个参数

    手动创建线程池_创建线程池的5个参数一,Executors类不建议使用自带的工具类的!使用JDK自带的Executors工具类(图中蓝色框中的那个,这是独立于线程池继承关系图的工具类,类似于Collections和Arrays)可以直接创建以下种类的线程池线程数量固定的线程池,此方法返回ThreadPoolExecutorpublicstaticExecutorServicenewFixedThreadPool(intnThreads){……}单线程线程池,此方法返回ThreadPoolExecu

  • 一个简单的实用的log4j.properties

    一个简单的实用的log4j.properties

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号