cluic / wxauto

Windows版本微信客户端(非网页版)自动化,可实现简单的发送、接收微信消息,简单微信机器人
MIT License
2.85k stars 459 forks source link

拍一拍消息导致_split -> Find Control Timeout(0s): {ControlType: ButtonControl} #225

Open SampsonFox opened 5 months ago

SampsonFox commented 5 months ago

是因为在element.WeChatBase._split() 中未能将拍一拍消息分类,暂时的解决方法是38行加入下面这个elif语句


def _split(self, MsgItem):
  # print(MsgItem)
    uia.SetGlobalSearchTimeout(0)
    # print(MsgItem.GetRuntimeId())
    MsgItemName = MsgItem.Name
    if MsgItem.BoundingRectangle.height() == WxParam.SYS_TEXT_HEIGHT:
        Msg = ['SYS', MsgItemName, ''.join([str(i) for i in MsgItem.GetRuntimeId()])]
    elif MsgItem.BoundingRectangle.height() == WxParam.TIME_TEXT_HEIGHT:
        Msg = ['Time', MsgItemName, ''.join([str(i) for i in MsgItem.GetRuntimeId()])]
    elif MsgItem.BoundingRectangle.height() == WxParam.RECALL_TEXT_HEIGHT:
        if '撤回' in MsgItemName:
            Msg = ['Recall', MsgItemName, ''.join([str(i) for i in MsgItem.GetRuntimeId()])]
        else:
            Msg = ['SYS', MsgItemName, ''.join([str(i) for i in MsgItem.GetRuntimeId()])]

    # 加入下面这个elif语句
    elif MsgItem.BoundingRectangle.height() == 51:
        Msg = ['pyp', MsgItemName, ''.join([str(i) for i in MsgItem.GetRuntimeId()])]