python调用adb_python使用adb从连接到电脑的手机中截图

下面使用python写一个使用usb连接到电脑的手机中截图并保存到电脑上,

注意里面使用的adb,写的时候我在py脚本文件的目录放啦一个/adb/adb.exe文件,如果你的adb已经加入啦环境变量,可以把里面的路径改成对应的路径,

如果截图失败可以试着换个adb,从网上下载一个试试# -*- coding:utf-8 -*-

import subprocess,os,sys,time

globalStartupInfo = subprocess.STARTUPINFO()

globalStartupInfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW

def runCmd(cmd):

p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=os.getcwd(), shell=False, startupinfo=globalStartupInfo)

p.wait()

re=p.stdout.read().decode()

return re

curdir=os.getcwd()

#连接的手机列表

mobiles=[]

cmd=[curdir +'/adb/adb.exe','devices']

mobilelist=runCmd(cmd)

mobilelist=mobilelist.split('\r\n')[1:]

# print(mobilelist)

for x in mobilelist:

if x:

mobiles.append(x)

if mobiles:

print(mobiles)

else:

print(['no devices\t no devices'])

#取第一个手机的序列号

xuliehao='';

if mobiles:

#取第一个手机设备

device=mobiles[0].split('\t')

xuliehao=device[0]

print(device)

#有手机连接上就截图

if xuliehao:

#保存到本地电脑的图片路径

timestamp = time.strftime('%Y%m%d%H%M%S',time.localtime(time.time()))

jietupath='d:/screenshot-'+timestamp+'.png'

sdcardpath='/sdcard/screenshot-'+timestamp+'.png'

if os.path.exists(jietupath):

os.remove(jietupath)

print('it is screenshoting to mobile.....')

jtcmd=curdir +'/adb/adb.exe -s '+xuliehao+' shell /system/bin/screencap -p '+sdcardpath

# print(jtcmd)

result=runCmd(jtcmd)

print('it is screenshot success.....')

# print(result)

print('it is moving screenshot to pc.....')

jtcmd=curdir +'/adb/adb.exe -s '+xuliehao+' pull '+sdcardpath+' '+jietupath

# print(jtcmd)

result=runCmd(jtcmd)

# print(result)

#删除sd图片

jtcmd=curdir +'/adb/adb.exe -s '+xuliehao+' shell rm '+sdcardpath

# print(jtcmd)

result=runCmd(jtcmd)

print(result)

print('it is moved screenshot to pc success.....')

else:

print('no device!')

如图

default

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值