YYDS!轻松用Python控制你的手机

2023-12-02 05:40
文章标签 python 手机 轻松 控制 yyds

本文主要是介绍YYDS!轻松用Python控制你的手机,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

“Python编程几乎能做任何事,只要你敢想,敢尝试!”,今天来看下用Python代码怎么来控制你的安卓手机。具体的说是代替你的手,实现自动的触摸和一些动作,实现自动化操作!主要用的是安卓手机的Android调试桥(Android Debug Bridge),它是一个非常有用的工具!本文的这个快速指南中,我将向你展示如何使用Python代码与ADB交互,并如何创建2个快速脚本。

ADB(Android Debug Bridge)是一个命令行工具(CLI),可用于控制Android设备并与之通信。可以执行许多操作:例如安装应用程序,调试应用程序,查找隐藏的功能并使用外壳程序直接与设备连接。要启用ADB,你的设备必须首先解锁开发者选项并启用USB调试——要解锁开发人员选项,转到设备设置,然后向下滚动到“关于”部分,找到设备上当前软件的内部版本号。单击内部版本号7次,将启用“开发人员选项”。然后,您可以转到设置中的“开发人员选项”面板,然后从那里启用USB调试。现在,基本大功告成,你唯一需要做的一件事就是将你的手机用USB电缆连接到计算机。好,今天的旅程是这样的:

介绍安装要求

  • 初步带你入门、带你飞
  • 介绍编写脚本的基础
  • 创建自拍计时器
  • 创建定义搜索器

1.安装准备工作

需要安装的两件事中的第一件事就是是计算机上的ADB工具。它会自动与Android Studio捆绑在一起,因此,如果已经安装了Android Studio那就不用担心。否则,可以转到官方文档,并且在页面顶部应该有有关如何安装它的说明。

安装ADB工具后,需要获取python库,我们将使用该库与ADB和我们的手机进行接口。安装命令如下:

pip install pure-python-adb       #安装pure-python-adb库。

下面这个不是必须的,但很有必要:为了让我们开发脚本时更轻松,可以安装一个名为scrcpy的开源程序,该程序允许我们使用鼠标和键盘在我们的计算机上显示和控制我们的android手机设备。要安装它,可以转到Github仓库并下载适用于你的操作系统(Windows,macOS或Linux)的正确版本。如果使用的是Windows,则将zip文件解压缩到一个目录中,然后将此目录添加到您的路径中。这样一来,我们只需在终端窗口中键入scrcpy即可从系统上的任何位置访问该程序。

2.带你入门带你飞

现在已经安装了所有依赖项,可以启动ADB并连接设备。首先,使用USB电缆将设备连接到PC,如果启用了USB调试,则会弹出一条消息,询问PC是否可以控制设备,只需回答是。然后在你的PC上,打开一个终端窗口,并通过键入adb start-server来启动ADB服务器。这应该打印出以下消息:
在这里插入图片描述
如果还安装了scrcpy,则只需在终端中键入scrcpy即可启动。但是,只有将其添加到路径后,此方法才能起作用,否则,可以通过将终端目录更改为安装scrcpy的目录并键入scrcpy.exe来打开可执行文件。希望一切顺利,你应该能够在PC上看到您的设备,并能够使用鼠标和键盘对其进行控制。

现在,我们可以创建一个新的python文件,并检查是否可以使用上面的库找到连接的设备:

上面这里,我们导入AdbClient类并使用它创建一个客户端对象。然后,我们可以获得连接的设备的列表。最后,我们从列表中获得第一台设备(如果仅连接了一个设备,则通常是唯一的设备)。

在这里插入图片描述

3.编写脚本的基础

我们要与设备连接的主要方式是使用shell,通过这种方式,我们可以发送命令以模拟特定位置的触摸或从A滑动到B。要模拟屏幕触摸(轻击),我们首先需要工作了解屏幕坐标的工作方式。为了帮助解决这些问题,我们可以在开发人员选项中激活指针位置设置。激活后,无论您在屏幕上的何处触摸,都可以看到该点的坐标显示在顶部。手机屏幕坐标系的工作方式如下:
在这里插入图片描述
显示屏的左上角就是x和y坐标点(0,0),右下角的坐标是x和y的最大可能值。现在我们知道了坐标系的工作原理,我们需要检查一下可以运行的不同命令。我在下面列出了命令列表以及如何使用它们,以供快速参考(英文不懂?好好查查吧)
在这里插入图片描述
在这里插入图片描述

4. 创建自拍计时器

哦,现在我们大概知道了能做什么,让我们开始吧,做一个简单的例子。我将向你展示如何创建一个快速的自拍计时器。首先,我们需要导入我们的库并创建一个connect函数以连接到我们的设备:
在这里插入图片描述
你可以看到connect函数与前面的如何连接到设备的示例相同,除了这里我们返回设备和客户端对象以供以后使用。
在这里插入图片描述
在上面的主代码中,我们可以调用connect函数来检索设备和客户端对象。从那里我们可以打开相机应用程序,等待5秒钟并拍照。真的就是这么简单!正如我之前说过的,这只是复制你通常会做的事情,因此,如果首先手动进行操作并写下步骤,则思考如何做事情是最好的。

相信和我学Python的童鞋们都能理解上面的代码吧?

5. 创建定义搜索器

现在,我们做一些更复杂的事情:要求浏览器找到特定单词的定义,并截图以将其保存在我们的计算机上。

要写的程序的基本流程如下:

1.打开浏览器

2.单击搜索栏

3.输入搜索查询

4.等待几秒钟

5.截图并保存

但是,在开始之前,你需要在默认浏览器中找到搜索栏的坐标,可以使用我之前建议的方法轻松地找到它们。对我来说,他们是(440,200)。

首先,我们必须导入与以前相同的库,使用相同的connect方法。
在这里插入图片描述
在我们的主要函数中,我们可以调用connect函数,并为搜索栏的x和y坐标分配一个变量。注意这是一个字符串,而不是一个列表或元组,这样我们就可以轻松地将坐标合并到我们的shell命令中。我们还可以从用户那里获取输入信息,以查看他们想要获取哪个单词的定义:
在这里插入图片描述
我们会将查询添加到完整的句子中,然后对其进行搜索,这样我们就可以始终获取定义。之后,我们可以打开浏览器,然后将搜索查询输入到搜索栏中,如下所示:
在这里插入图片描述
在这里,我们使用eventID 66模拟输入键的按下以执行搜索。如果需要,可以根据需要更改等待时间。最后,我们在设备对象上使用screencap方法获取屏幕截图,并将其另存为.png文件:
在这里插入图片描述
在这里,我们必须以写字节模式(“wb”)打开文件,因为screencap方法返回表示图像的字节。如果一切都按计划进行,则应该有一个快速脚本来搜索特定单词。在我的手机上正常工作是这样的:
在这里插入图片描述
希望你今天学到了一些新知识,在我对此进行研究之前,我其实也不知道,但很酷的事情是:使用它你基本可以执行平常可以做的任何事情!没错,而且还可以做更多的事,因为它只是模拟你自己在手机上的触摸和动作!

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

点此免费领取:CSDN大礼包:《python学习路线&全套学习资料》免费分享

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、Python必备开发工具

在这里插入图片描述

三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。在这里插入图片描述

五、Python练习题

检查学习结果。
在这里插入图片描述

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述
这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

这篇关于YYDS!轻松用Python控制你的手机的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/444167

相关文章

使用python生成固定格式序号的方法详解

《使用python生成固定格式序号的方法详解》这篇文章主要为大家详细介绍了如何使用python生成固定格式序号,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录生成结果验证完整生成代码扩展说明1. 保存到文本文件2. 转换为jsON格式3. 处理特殊序号格式(如带圈数字)4

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

Python实现字典转字符串的五种方法

《Python实现字典转字符串的五种方法》本文介绍了在Python中如何将字典数据结构转换为字符串格式的多种方法,首先可以通过内置的str()函数进行简单转换;其次利用ison.dumps()函数能够... 目录1、使用json模块的dumps方法:2、使用str方法:3、使用循环和字符串拼接:4、使用字符

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

Python打包成exe常用的四种方法小结

《Python打包成exe常用的四种方法小结》本文主要介绍了Python打包成exe常用的四种方法,包括PyInstaller、cx_Freeze、Py2exe、Nuitka,文中通过示例代码介绍的非... 目录一.PyInstaller11.安装:2. PyInstaller常用参数下面是pyinstal

Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题

《Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题》在爬虫工程里,“HTTPS”是绕不开的话题,HTTPS为传输加密提供保护,同时也给爬虫带来证书校验、... 目录一、核心问题与优先级检查(先问三件事)二、基础示例:requests 与证书处理三、高并发选型: