当前位置:   article > 正文

Python之微信自动化_uiautomation启动多个微信

uiautomation启动多个微信

转载自己的文章:Python之微信自动化 • 威远博客,威远工作室,Ease

Python的插件(组件)是相当多的,自动化方面也是。
虽然基于客户端微信去实现各种功能有点尴尬的感觉,但总还是比没有强。我总习惯一个问题寻找多种可能的解决方法,哪怕不是最优解。

能做个啥呢?比如把微信转换为语音播放,赞赏码付费信息处理等。
这里主要使用了两个库:pyautogui主要用于鼠标键盘的操作,uiautomation主要用于Win下程序的组件句柄控制。
uiautomation 模块中文说明
以下代码功能实现的是发现新收到的消息,程序部份思路还有问题。不适合复制粘贴。

  1. import pyautogui as pauto
  2. import uiautomation as uauto
  3. import time
  4. pic = ['wxd0.png','wxd1.png', 'wx10.png','wx11.png','wx12.png','wx21.png','wx30.png','wx31.png']
  5. chat_content = []
  6. def wx_mess():
  7. for p in pic:
  8. #print(p)
  9. a = pauto.locateOnScreen(p)
  10. if not a is None:
  11. x, y = pauto.center(a) # 获得文件图片在现在的屏幕上面的中心坐标
  12. pauto.moveTo(x,y,duration=0) # 移动到图像位置
  13. pauto.move(-20,10) # 图标偏移
  14. pauto.click() # 点击
  15. while True:
  16. time.sleep(3)
  17. wx=uauto.WindowControl(Name='微信',searchDepth=1) # 绑定微信的主程序窗口
  18. wx.SetActive() # 激活程序
  19. search = wx.EditControl(Name='搜索')
  20. edit = wx.EditControl(Name='输入')
  21. messages = wx.ListControl(Name='消息')
  22. sendButton = wx.ButtonControl(Name='sendBtn')
  23. chat = wx.ListControl(Name='会话')
  24. # 是否有新消息
  25. new_content = messages.GetChildren()[-1].Name
  26. has = True
  27. for c in chat_content:
  28. # 已经包含了此句,不是新消息
  29. if c==new_content:
  30. has = False
  31. continue
  32. # 是新消息,添加到列表中
  33. if has:
  34. chat_content.append(new_content)
  35. print("新消息:", new_content)
  36. wx_mess()
  37. time.sleep(10)

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/104255
推荐阅读
相关标签
  

闽ICP备14008679号