bester 发表于 2022-1-23 11:14

python不使用adb获取手机名称、型号、厂商及SN码思路



import win32com.client

import wmi

m_wmi=wmi.WMI()

for dev in m_wmi.Win32_PnPEntity():

    if(dev.Name == "nova 7 5G"): # 先枚举所有的设备名,判断是否为自己手机型号
                               # 因为有的设备无法打印厂商和型号 导致代码报错
                               # 当然也可以用异常捕获
      print(dev.Name + '\n')
      print(dev.Description + '\n') # 获得手机型号
      print(dev.Manufacturer + '\n') # 获得手机厂商

# 写法二 获取SN码
for usb in m_wmi.Win32_USBHub():
    #print(usb.DeviceID)
    SN=usb.DeviceID
    index=SN.rfind("\\")+1 # 从右边取\的位置
    SNID=SN # 然后进行切片获得SN码
    if(SNID.isalnum() and len(SNID) >= 15): # 判断SN码的位数和是否存在特殊符号,有特殊符号则非SN码
      print(SNID)

# 写法一获取SN码
def SNID2():
    wmi = win32com.client.GetObject ("winmgmts:")
    for usb in wmi.InstancesOf ("Win32_USBHub"):
      print('Device ID:',usb.DeviceID)

owyroer 发表于 2022-1-23 11:38

谢谢分享,

木羊羽 发表于 2022-1-23 13:02

有什么用吗?

bwuaich 发表于 2022-1-23 13:40

本帖最后由 bwuaich 于 2022-1-23 13:42 编辑

恩; 先学习; 了解这个; 谢谢分享; 有你精彩{:1_921:}{:1_893:}{:1_927:}

じ☆ve不哭 发表于 2022-1-23 14:42

这个思路厉害了

ynboyinkm 发表于 2022-1-23 19:32

这个wmi研究一下!!!{:1_921:}

johngao 发表于 2022-1-24 18:05

大神,最近在学习安卓自动化测试,请问如何获取手机卡中的手机号(我用的测试框架是uiautomator2)
页: [1]
查看完整版本: python不使用adb获取手机名称、型号、厂商及SN码思路