cluic / wxauto

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

"查看更多消息" 被定义为 `FriendMessage` #237

Open 954-Ivory opened 1 month ago

954-Ivory commented 1 month ago

微信版本: 3.9.11.17

主要是这个判断出问题了。

https://github.com/cluic/wxauto/blob/49986743a605ba248c81bee85ebcc5523de91a86/wxauto/elements.py#L30-L38

因为是他是一个 ButtonControl 。 改成这样应该可以,但是我不知道 MsgItem.BoundingRectangle.height() 要怎么定义。

        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 MsgItem.ControlTypeName == 'ButtonControl' and self._lang('查看更多消息') in MsgItemName:
            Msg = ['SYS', MsgItemName, ''.join([str(i) for i in MsgItem.GetRuntimeId()])]