Python 自动化 PC 版微信

Posted 走风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 psutil
import pywinauto
from pywinauto.application import Application
import time


def 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)

以上是关于Python 自动化 PC 版微信的主要内容,如果未能解决你的问题,请参考以下文章

Python基于PC版微信实现机器人

Python基于PC版微信实现机器人

Python基于PC版微信实现机器人

Python基于PC版微信实现机器人

Python基于PC版微信实现机器人

微信 - 电脑(PC)版微信关闭自动下载文件