通過Python連線手機,並截圖手機螢幕儲存到電腦(android)
阿新 • • 發佈:2019-02-13
首先下載adb
可以到百度網盤連結下載:https://pan.baidu.com/s/1htbYtq0
或者自己去搜索引擎搜尋,網上一大堆
將下載的壓縮包解壓,如圖:
然後再系統中新增環境變數:
右鍵我的電腦- 屬性-高階系統設定-高階-環境變數
將Path中新增adb.exe的路徑:比如我的是G:\android\adb
然後用usb連線手機,且手機開啟USB除錯選項
通過命令列adb devices檢視連線的裝置
通過Python的subprocess模組來模擬命令列操作
import subprocess class Screenshot():#擷取手機螢幕並儲存到電腦 def __init__(self): #檢視連線的手機 connect=subprocess.Popen("adb devices",stderr=subprocess.PIPE,stdout=subprocess.PIPE,shell=True) stdout,stderr=connect.communicate() #獲取返回命令 #輸出執行命令結果結果 stdout=stdout.decode("utf-8") stderr=stderr.decode("utf-8") print(stdout) print(stderr) def screen(self,cmd):#在手機上截圖 screenExecute=subprocess.Popen(str(cmd),stderr=subprocess.PIPE,stdout=subprocess.PIPE,shell=True) stdout, stderr = screenExecute.communicate() # 輸出執行命令結果結果 stdout = stdout.decode("utf-8") stderr = stderr.decode("utf-8") print(stdout) print(stderr) def saveComputer(self,cmd):#將截圖儲存到電腦 screenExecute = subprocess.Popen(str(cmd), stderr=subprocess.PIPE, stdout=subprocess.PIPE, shell=True) stdout, stderr = screenExecute.communicate() stdout = stdout.decode("utf-8") stderr = stderr.decode("utf-8") # 輸出執行命令結果結果 stdout = stdout.decode("utf-8") stderr = stderr.decode("utf-8") print(stdout) print(stderr) cmd1=r"adb shell /system/bin/screencap -p /sdcard/3.png" #命令1:在手機上截圖3.png為圖片名 cmd2=r"adb pull /sdcard/3.png d:/3.png" #命令2:將圖片儲存到電腦 d:/3.png為要儲存到電腦的路徑 screen=Screenshot() screen.screen(cmd1) screen.saveComputer(cmd2)