Skip to content

ContactsManager

通讯录管理器,提供群聊列表与标签管理功能。

方法

open(category="全部")

打开通讯录管理窗口并切换到左侧分类。

  • category str — 左侧分类名称,如 "最近群聊" / "标签" / "朋友权限"

WARNING

可用分类随微信版本变化。若传入当前版本不存在的分类(例如部分 4.1.x 版本没有 "全部"), 点击会超时抛出 WxControlTimeoutError。只想打开窗口不切分类时,用 wx.open_contacts_manager()category 默认 None)。

iter_rooms(count=None, speed=1, timeout=300)

逐条遍历最近群聊列表(通过滚动)。

  • count int | None — 最多获取数量,None 获取全部
  • speed int — 滚动速度,值越大滚动越快
  • timeout float — 整个遍历的最长耗时(秒)
  • Yields dict — 群聊信息

遍历结果字典结构:

python
{
    "nickname": "群名称",      # 群名(已剥离末尾的成员数)
    "member_count": 497,       # 群成员数,解析失败时为 0
    "raw_text": "群名称(497)",  # 控件原始 Name
}

示例

python
from pywxauto import Weixin

wx = Weixin()

# 通过 Weixin 入口获取(用完自动关闭通讯录管理窗口)
for room in wx.iter_rooms(count=100):
    print(f"{room['nickname']} - 成员数: {room['member_count']}")

# 或一次性取回列表
rooms = wx.get_rooms(count=20)

# 也可以直接操作 ContactsManager
cm = wx.open_contacts_manager()
for room in cm.iter_rooms(count=10):
    print(room)
wx.close_contacts_manager()