发布时间:2019-08-28 09:14:06编辑:auto阅读(2112)
在python中使用adb命令,可以导入os模块。
1 简单的adb命令。
如:os.system('adb version')
2 稍微复杂的adb命令。
如:os.system('adb shell "dumpsys activity | grep "mFocusedActivity""')
3 希望将adb读出的内容保存。
如:out = os.popen('adb shell "dumpsys activity | grep "mFocusedActivity""').read()
总结一下:os.system不支持读取, os.popen支持读取。
下面有一个转来的脚本,学习一下:
import os
import re
os.system('adb version')
os.system('adb devices') #os.system是不支持读取操作的
out = os.popen('adb shell "dumpsys activity | grep "mFocusedActivity""').read() #os.popen支持读取操作
print(out)
#下面的代码是获取当前窗口的component参数
def getFocusedPackageAndActivity():
pattern = re.compile(r"[a-zA-Z0-9\.]+/[a-zA-Z0-9\.]+") #这里使用了正则表达式,对输出的内容做了限制,只会显示类似"com.mediatek.factorymode/com.mediatek.factorymode.FactoryMode"的字符串
out = os.popen("adb shell dumpsys window windows | findstr \/ | findstr name=").read() #window下使用findstr
list = pattern.findall(out)
component = list[0] #输出列表中的第一条字符串
return component
print(getFocusedPackageAndActivity())
上一篇: Python--command模块
下一篇: 详解Python中的相对导入和绝对导入
51568
51145
41665
38421
32908
29881
28601
23562
23493
21841
1991°
2702°
2265°
2188°
2639°
2207°
2958°
4886°
4724°
3360°