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):

点开看看

没问题。

相关推荐
AI情绪识别开源13 小时前
检信ALLEMOTION VibrationAI 2.4.0 12维度情绪识别开源源代码
开发语言·python
极创信息13 小时前
国产化信创适配认证高频术语:信创适配、软件自主可控、国产化率、代码溯源率、代码自主率、代码开源率是什么?
java·python·struts·eclipse·开源·php·hibernate
AC赳赳老秦14 小时前
语义采集进阶实战:利用 OpenClaw AI 语义识别自动提取网页核心信息,无需手动编写选择器
java·运维·服务器·python·信息可视化·deepseek·openclaw
Logintern0914 小时前
什么时候应该用多进程什么时候用多线程呢?
开发语言·python
无凭14 小时前
字节跳动 DeerFlow:Agent Harness 怎么让大模型主动向用户提问?
人工智能·python
蜀道山老天师14 小时前
Python + Playwright 实现问卷星自动化填写
python
Zane199415 小时前
多开几个线程,为什么算数字反而没变快?一文讲透 CPython 的 GIL
后端·python
W_3260015 小时前
Python-OpenCV边缘检测与阈值分割:Sobel、Scharr、Laplacian、Canny、全局与自适应阈值
开发语言·图像处理·python·opencv·机器学习
青 春 记 忆15 小时前
LeetCode 121. 买卖股票的最佳时机|Python 解法详解
python·算法·leetcode
En^_^Joy15 小时前
Django模板与静态文件使用指南
python·django·sqlite