python将手机模拟器截屏并发送至电脑上

电脑上安装手机模拟器,截手机屏幕图片,发送至电脑上,(继而进一步操作,比如图文识别等)。环境:python3.10.4

模拟器:雷电模拟器

模拟器安装路径,我的是:D:\leidian\LDPlayer4,这个路径下有个关键的adb.exe,首先必须在cmd下用它来将模拟器和电脑连通。

一、用管理员打开cmd,执行如下代码

d:

cd D:/leidian/LDPlayer4/

adb.exe kill-server

adb connect 127.0.0.1:5555

adb devices

此时看到模拟器emulator-5554已经连接,但是还有一个127.0.0.1:5555 offline的条目。其实这是adb.exe的bug。只要再运行一次adb.exe kill-server就可以了。(以上情况仅限于开了一个模拟器)。

否则会出现如下问题:

二、管理员打开pycharam,运行代码如下

python 复制代码
import subprocess
import time
def convert_img(path):
    with open(path, "rb") as f:
        bys = f.read()
        bys_ = bys.replace(b"\r\n",b"\n")  # 二进制流中的"\r\n" 替换为"\n"
    with open(path, "wb") as f:
        f.write(bys_)

#截取模拟器中手机屏幕图,并发送到电脑指定文件夹中
def get_screen():
    cmd='"D:/leidian/LDPlayer4/adb.exe" "shell" "screencap" "-p"'
    with open("./img/example.png","wb") as out:
       subprocess.run(cmd,stdout=out)
    time.sleep(2)
    #adb 命令有时直接截图保存到电脑出错的解决办法-加下面一段即可
    convert_img('./img/example.png')

def main():
    get_screen()

if __name__ == '__main__':
    main()

此时模拟器中的界面如图:

运行代码后,在电脑的指定文件夹内出现截图(./img/example.png):

点开看看

没问题。

相关推荐
傻啦嘿哟几秒前
QQ音乐爬虫:爬取歌单与歌曲信息,做个性化推荐系统
python
计算机源码社5 分钟前
基于Hadoop+Spark的乳腺癌病理数据可视化分析系统 基于K-Means聚类与PCA降维的乳腺癌形态特征分析系统
大数据·hadoop·python·数据分析·spark·毕业设计·数据可视化
磁场转动100万匹19 分钟前
基于 dlib 与 OpenCV 的疲劳驾驶检测:眼睛纵横比(EAR)原理与代码逐段解析
pytorch·python
我不会起名字32221 分钟前
一天一道力扣Hot100(37):深度优先算法--括号生成
java·数据结构·c++·后端·python·算法·go
小白勇闯网安圈39 分钟前
第5章 流式输出与人工审核
python·langchain
打工仔折腾 AI44 分钟前
数据库上 K8s 之后谁来管?拆解金仓 KES-Operator 的声明式运维方案
人工智能·后端·python·性能优化·ai agent 实战
zx_741484811 小时前
【计算机视觉入门】OpenCV + MediaPipe + dlib:从仿射变换到换脸、手势、姿态与人脸网格
python·opencv·计算机视觉
PixelBai1 小时前
在线正则表达式测试工具推荐:实时高亮、支持 flags,写完先验一遍再上代码
python
正经教主1 小时前
【FDE系列】阶段2:Day 33:进阶查询 — 窗口函数与 CTE
人工智能·python·fde
小白勇闯网安圈1 小时前
第2章 状态 State 详解
python·langchain