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)

問題: send_key 無法導入的話, 從 GitHub 下載 whl 本地安裝
轉載: https://www.jb51.net/article/181580.htm
參考: https://pywinauto.readthedocs.io/en/latest/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM