Session类

Session 类方法

概念

Session类表示微信主窗口聊天页左侧的联系人会话列表,即下图绿色框内部分

/images/wechat_window.png

... # 此处省略wx对象的初始化

sessionbox = wx.SessionBox

仅用于触发搜索,返回搜索结果,不会进行下一步的动作,可自行处理搜索结果

示例

search_result = sessionbox.search('张三')
for item in search_result:
    print(f"type: {item.type}, text: {item.text}")

参数

参数类型默认值说明
keywordsstrFalse搜索关键词
forceboolFalse是否强制等待,避免未搜索到就返回结果
force_waitUnion[float, int]0.5强制等待时间,秒

返回值

List[SearchResultElement]

go_top

回到会话列表顶部

参数:无

返回值:无

roll_up

向上滚动会话列表

参数

参数类型默认值说明
nint5滚动次数,自行调节滚动幅度

返回值:无

roll_down

向下滚动会话列表

参数

参数类型默认值说明
nint5滚动次数,自行调节滚动幅度

返回值:无

SessionElement

SessionElement

属性类型描述(以上图为例)
namestr会话名(wxauto三群)
timestr时间(2025-05-14 14:41)
contentstr消息内容([10条]天道酬勤:这..)
ismutebool是否消息免打扰(True)
isnewbool是否有新消息(True)
new_countint新消息数量(10)
infoDict[str, Any]会话信息(包含了上述所有属性的dict)
from wxauto import WeChat

wx = WeChat()
sessions = wx.GetSession()
session = sessions[0]  # 获取第一个会话

click

点击会话,即切换到这个聊天窗口

参数:无

返回值:无

示例:

session.click()

double_click

双击会话,即将这个聊天窗口独立出去

参数:无

返回值:无

示例:

session.double_click()

✨delete

删除会话

{{< callout type="warning" >}} 请谨慎调用该方法,该方法会删除该会话的所有聊天记录,无法恢复!! 请谨慎调用该方法,该方法会删除该会话的所有聊天记录,无法恢复!! 请谨慎调用该方法,该方法会删除该会话的所有聊天记录,无法恢复!! {{< /callout >}}

参数:无

返回值:WxResponse

示例:

session.delete()

✨hide

隐藏会话

参数:无

返回值:WxResponse

示例:

session.hide()

✨select_option

选择会话选项,即右键点击会话,然后选择某个选项

参数:

参数名类型说明
optionstr选项名称,例如“置顶”、“标为未读”等

返回值:WxResponse

✨SearchResultElement

会话搜索结果对象

属性类型描述
typestr搜索结果对象的UI类型,一般pane是分割线或者标签,不可交互;listitem是搜索结果,可交互
textstr搜索结果,有时候卡可能为空,建议使用get_all_text方法进行完整判断

get_all_text

获取该结果对象的所有UI文字内容,用于判断是不是你要的搜索结果

参数:无

返回值:List[str]

click

点击该搜索对象

参数:无

返回值:无

close

关闭搜索窗口,关闭后本次搜索的所有对象均不可再交互

参数:无

返回值:无