当前位置:   article > 正文

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

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,运行代码如下

  1. import subprocess
  2. import time
  3. def convert_img(path):
  4. with open(path, "rb") as f:
  5. bys = f.read()
  6. bys_ = bys.replace(b"\r\n",b"\n") # 二进制流中的"\r\n" 替换为"\n"
  7. with open(path, "wb") as f:
  8. f.write(bys_)
  9. #截取模拟器中手机屏幕图,并发送到电脑指定文件夹中
  10. def get_screen():
  11. cmd='"D:/leidian/LDPlayer4/adb.exe" "shell" "screencap" "-p"'
  12. with open("./img/example.png","wb") as out:
  13. subprocess.run(cmd,stdout=out)
  14. time.sleep(2)
  15. #adb 命令有时直接截图保存到电脑出错的解决办法-加下面一段即可
  16. convert_img('./img/example.png')
  17. def main():
  18. get_screen()
  19. if __name__ == '__main__':
  20. main()

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

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

点开看看

没问题。

续加:又测试了逍遥模拟器,上述代码可以截图,不过需要将逍遥模拟器首先做如下设置,重启一下。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/474945
推荐阅读
相关标签
  

闽ICP备14008679号