python与adb无缝衔接控制手机(手机截屏实例)

news2024/12/24 2:32:57

目录

连接

常用操作

截图到PC端


使用pure-python-adb库可以实现python控制手机,支持input输入,支持shell命令,支持pull/push上传下载文件等。

安装库:pip install pure-python-adb

电脑端需要安装adb程序,在命令行窗口启动adb程序,如下:

连接

from ppadb.client import Client as adbct

client = adbct(host='127.0.0.1', port=5037)  # 创建连接
devices = client.devices()  # 连接设备
print(len(devices), devices)  # 打印连接设备数量和连接对象

if len(devices) != 0:
    device = devices[0]  # 获取第一个连接对象

常用操作

print(device.cpu_times())  # 获取CPU信息
print(device.shell('getprop ro.product.model'))  # 获取手机名称
print(device.shell('getprop ro.build.version.release'))  # 获取手机版本
print(device.shell('getprop ro.product.brand'))  # 获取手机厂商
print(device.wm_size())  # 获取屏幕分辨率

device.input_swipe(800, 2000, 800, 300, 500)  # 滑动
device.input_text('123456')  # 输入内容
device.input_tap(300, 500)  # 点击
device.input_keyevent('26')  # 点击电源键

截图到PC端

screenshort = device.screencap()
with open('手机截屏.png', 'wb') as f:
    f.write(screenshort)
from ppadb.client import Client as adbct

client = adbct(host='127.0.0.1', port=5037)  # 创建连接
devices = client.devices()  # 连接设备

if len(devices) != 0:
    print('当前有{}台设备'.format(len(devices)))
    ds = [devices[i] for i in range((len(devices)))]
    dl = list(enumerate(ds))
    for d in dl:
        print('设备{}为{}'.format(d[0], d[1].shell('getprop ro.product.model')))
else:
    quit()
index = eval(input('输入要操作的设备设备序号:'))
device = devices[index]
while 1:
    t = input('<<回车继续截图,输入任意字符回车退出截图:')
    if not t:
        screenshort = device.screencap()
        with open(f'手机截屏{int(time.time() * 100000)}.png', 'wb') as f:
            f.write(screenshort)
            print('已截图保存')
    else:
        break

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/688974.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

技术管理第二板斧建团队-建机制

1.机制作用&#xff1f; 站在团队的角度&#xff0c;建机制尤为重要&#xff0c;你要通过机制让团队有统一的行为与规则&#xff0c;让组织像人一样&#xff0c;言行举止有规律可循。 听起来很容易&#xff0c;可要设计一个有效、持续发挥作用的机制并不简单。你不但清晰地认识…

10 Debug功能及方法简述

常见的Debug方法 原文链接&#xff1a;MDK5 Debug调试方法总结_keil5debug调试_小z不会累&#xff5e;的博客-CSDN博客 连接好硬件DAP之后&#xff0c;需要进行一些设置 开始仿真调试 Debug调试按钮分别对应的功能 按钮1->reset复位按钮按钮2->run按钮&#xff0c;程序运…

Keil V5版本开发STM32缺少PACKDFP解决办法 (Error Flash Downloadfailed-“Cortex-M7)

Keil V5版本开发STM32缺少PACKDFP解决办法 Error Flash Downloadfailed-“Cortex-M7 这个网址里有各个固件包的最新版&#xff0c;下载速度快&#xff0c;滋溜一下就下好啦 固件包

CISP-PTE-考前综合题记录

CISP-PTE-考前综合题记录 http://10.1.10.71/&#xff08;文件上传传不上去&#xff09; 获取key6 端口扫描只扫到80端口开放 输入用户名密码&#xff0c;抓包 对Authorization Basic的值进行base64解码&#xff0c;为爆破做准备 猜测用户名为admin,所有留下admin:这一段…

设计模式第15讲——模板模式(Template)

目录 一、什么是模板模式 二、角色组成 三、优缺点 四、应用场景 4.1 生活场景 4.2 java场景 五、代码实现 5.0 代码结构 5.1 OrderFood——抽象类&#xff08;Abstract&#xff09; 5.2 具体类&#xff08;Concrete Class&#xff09; 5.3 testTemplate 六、总结…

JMeter工具使用

1. Jmeter设置语言为简体中文 2. Jmeter添加线程组 3. Jmeter添加http请求 4. Jmeter添加数据统计结果 5. JMeterAddress Already in use 错误解决 windows本身提供的端口访问机制的问题。 Windows提供给 TCP/IP链接的端口为1024-5000&#xff0c;并且要四分钟来循环回收他们。…

PostgreSQL

一. PostgreSQL 简介 1 资料来源&#xff1a; 中文手册&#xff1a;http://www.postgres.cn/docs/14/index.html 知乎链接&#xff1a;https://www.zhihu.com/column/c_1452567507496689664 视频链接&#xff1a;https://www.bilibili.com/video/BV1uW4y1m7pD/?spm_id_frompa…

win下docker安装和使用

安装 下载安装包&#xff1a;https://docs.docker.com/desktop/install/windows-install/ 下载 Linux 内核更新包 适用于 x64 计算机的 WSL2 Linux 内核更新包 解决docker下载镜像速度慢问题 阿里云镜像加速器&#xff1a;https://阿里ID.mirror.aliyuncs.com 复制上面镜像…

轮廓检测,高斯模糊及功能

轮廓检测 一、实验介绍 1. 实验内容 本实验将学习轮廓检测及功能。 2. 实验要点 生成二进制图像来查找轮廓找到并画出轮廓轮廓特征边界矩形 3. 实验环境 Python 3.6.6numpymatplotlibcv2 二、实验步骤 1 导入资源并显示图像 import numpy as np import matplotlib.py…

rabbitmq第四课-RabbitMQ高可用集群架构详解以及生产环境最佳实践

一、如何保证RabbitMQ服务高可用 1、RabbitMQ如何保证消息安全 之前通过单机环境搭建起来的RabbitMQ服务有一个致命的问题&#xff0c;那就是服务不稳定的问题。如果只是单机RabbitMQ的服务崩溃了&#xff0c;那还好&#xff0c;大不了重启下服务就是了。 但是如果是服务器的…

MySQL 逻辑备份mysqldump

逻辑备份mysqldump MySQL 自带的逻辑备份工具。可以保证数据的一致性和服务的可用性原理是通过协议连接到 MySQL 数据库&#xff0c;将需要备份的数据查询出来&#xff0c;将查询出的数据转换成对应的 insert 语句&#xff0c;当我们需要还原这些数据时&#xff0c;只要执行这些…

红帽“背叛”开源:限制RHEL源码访问,突袭下游发行版

红帽决定停止公开提供其企业发行版 Red Hat Enterprise Linux (RHEL) 源代码。 从现在开始&#xff0c;CentOS Stream 将成为公共 RHEL 相关源代码发布的唯一仓库&#xff0c;付费客户和合作伙伴可通过 Red Hat Customer Portal 访问到源代码。 CentOS Stream 是由 Red Hat 公…

UNIX环境高级编程——网络IPC:套接字

16.1 引言 本章将考察不同计算机&#xff08;通过网络相连&#xff09;上的进程相互通信的机制&#xff1a;网络进程间通信&#xff08;network IPC&#xff09;。 16.2 套接字描述符 为创建一个套接字&#xff0c;调用socket函数&#xff1a; #include <sys/socket.h&g…

图像增强之图像锐化(边缘增强)之robot算子

目录 note code test note matx (-1,0;1,0) maty (0,-1;1,0) code // 图像增强之图像锐化(边缘增强)之robot算子 void GetRobot(Mat& robotX, Mat& robotY) {robotX (Mat_<int>(2,2) << -1,0,1,0);robotY (Mat_<int>(2,2) << 0,-1,1…

bug汇集-二

1、多个表格 设置 只让当前选中行对应的表格行--高亮 问题&#xff1a;只能设置一个表格高亮&#xff0c;选中一个表格某行高亮&#xff0c;另一行就不高亮 解决&#xff1a; 1、在 表格属性配置里&#xff0c; 把 current-changecurrentChange 写成 current-change"…

多账号矩阵管理系统技术嫁接开发源代码

多账号矩阵管理系统技术嫁接开发源代码 文章目录 一、剪辑部分源代码开发示例二、发布投放部分源代码示例 1.账号绑定一码多扫技术应用开发代码示例2.定时挂载投放源代码示例 一、剪辑部分源代码开发示例 创建工程项目 */ public function createProjectAction() { …

windows电脑如何设置通电自启

原来电脑是需要摁启动摁扭才能开机&#xff0c;现在需要给服务器设置成通电自启 开机后摁del或者F2键进入bois设置&#xff0c;再摁F7进入高级设置&#xff0c;进入Advanced---APM Configuration 进入后 Restore AC Power Loss选择开启。

Selenium教程__获取元素文本、属性值、尺寸(8)

本文将介绍如何使用Selenium来获取元素的文本内容、属性值和尺寸&#xff0c;并展示一些实际应用场景。 学习本文内容将能够轻松地获取并利用元素的相关信息&#xff0c;从而更好地进行元素的验证、操作和断言。 from selenium import webdriverdriver webdriver.Chrome() …

【软考网络管理员】2023年软考网管初级常见知识考点(16)-网络安全与病毒

涉及知识点 网络安全要素&#xff0c;DDOS攻击&#xff0c;网络安全威胁&#xff0c;常见的病毒类型&#xff0c;软考网络管理员常考知识点&#xff0c;软考网络管理员网络安全&#xff0c;网络管理员考点汇总。 原创于&#xff1a;CSDN博主-《拄杖盲学轻声码》&#xff0c;获…

RabbitMQ学习笔记3(小滴课堂)RabbitMQ的安装和web 管控台的讲解

在安装之前我们先要启动docker: docker pull rabbitmq:management 我们现在去运行rabbitmq&#xff1a; 我们可以看到rabbitmq的日志&#xff1a; 可以用之前学过的命令去查看已经运行的容器。 账号admin 密码password 就能登录进去了&#xff1a; 我们可以加一个虚拟主机。