Python 自动化 PC 版微信

获取微信进程 PID

 for proc in psutil.process_iter(): try: pinfo = proc.as_dict(attrs=[‘pid‘, ‘name‘]) except psutil.NoSuchProcess: pass else: if ‘WeChat.exe‘ == pinfo[‘name‘]: PID = pinfo[‘pid‘]
# -*- coding:utf-8 -*-import psutilimport pywinautofrom pywinauto.application import Applicationimport timedef getWinxin(number): # 获取微信的 PID PID = 0 for proc in psutil.process_iter(): try: pinfo = proc.as_dict(attrs=[‘pid‘, ‘name‘]) except psutil.NoSuchProcess: pass else: if ‘WeChat.exe‘ == pinfo[‘name‘]: PID = pinfo[‘pid‘] # 连接 微信 app = Application(backend=‘uia‘).connect(process=PID) win = app[u‘微信‘] # 查到微信的控件树 # print(win.print_control_identifiers()) # 点击通讯录 # addresslist = win.child_window(title=u"通讯录", control_type="Button") # addresslist.draw_outline() # cords = addresslist.rectangle() # pywinauto.mouse.click(button=‘left‘, coords=(cords.left + 10, cords.top + 10)) # win.draw_outline() # 点击搜索 addresslist = win.child_window(title="搜索", control_type="Edit") cords = addresslist.rectangle() pywinauto.mouse.click(button=‘left‘, coords=(cords.left, cords.top)) pywinauto.mouse.click(button=‘left‘, coords=(cords.left, cords.top)) win.Edit.type_keys((number), with_spaces=True) time.sleep(1) # 输入姓名并回车 win.type_keys(‘{ENTER}‘) win.Edit.type_keys(("微信机器人自动回复,,"), with_spaces=True).type_keys(‘{ENTER}‘)if __name__ == ‘__main__‘: # 测试, # 输入微信号, 或者备注姓名 # 微信号搜的更准确 # getWinxin("文件传输助手") for i in [‘文件传输助手‘, "微信团队"]: getWinxin(i)

相关文章