Skip to content

Moment

朋友圈操作类,支持浏览动态、点赞、评论和发布。

方法

get_moments(count=10, position="top")

获取朋友圈动态列表。

  • count int — 获取数量
  • position "top" | "current" — 从顶部开始或从当前位置开始
  • 返回 List[MomentItem]

iter_moments(count=10, position="top")

逐条遍历朋友圈动态(生成器)。

  • Yields MomentItem

get_center_moment()

获取当前屏幕中央的动态。

  • 返回 MomentItem | None

scroll_to_next()

滚动到下一条动态。

  • 返回 MomentItem | None

like(moment_item)

点赞动态。

  • 返回 bool

unlike(moment_item)

取消点赞。

  • 返回 bool

comment(moment_item, content)

评论动态。

  • content str — 评论内容
  • 返回 bool

scroll_into_visible(moment_item)

将指定动态滚动到可见区域。

  • 返回 bool

capture(moment_item)

截图指定动态。

  • 返回 bytes — PNG 图片数据

like_when(func, position="top", max_count=None)

条件批量点赞。

  • func callablefunc(count, item) 返回 True 表示点赞
  • position "top" | "current" — 起始位置
  • max_count int | None — 最多浏览数量

comment_when(func, position="top", max_count=None)

条件批量评论。

  • func callablefunc(count, item) 返回评论内容字符串或 None 跳过

publish(text=None, images=None, video=None, permission="公开", ...)

发布朋友圈动态。

  • text str | None — 文本内容
  • images List[str] | None — 图片路径列表
  • video str | None — 视频路径
  • permission str — 隐私设置:"公开" / "私密" / "谁可以看" / "不给谁看"
  • permission_contacts List[str] | None — 权限联系人列表
  • remind_contacts List[str] | None — 提醒谁看

refresh()

下拉刷新朋友圈。

MomentItem 属性

属性类型说明
senderstr发布者昵称
contentstr正文内容
typestr类型(文本/图片/视频/分享等)
timestampstr时间(如"8小时前")
image_countint图片数量
raw_textstr原始控件文本

MomentItem 方法

  • like() / unlike() — 点赞/取消
  • comment(content) — 评论
  • scroll_to_visible() — 滚动到可见
  • capture() — 截图
  • to_dict() — 转为字典

MomentItem 位置与可见性

is_in_list()

控件是否存在于朋友圈列表的 UIA 树中。

  • 返回 bool

is_visible()

控件是否完全在朋友圈列表的可视区域内。

  • 返回 bool

scroll_to_visible()

将此条动态滚动到可见区域。

  • 返回 bool

示例

python
from pywxauto import Weixin

wx = Weixin()

# 浏览朋友圈
for item in wx.moment.iter_moments(count=20):
    print(f"{item.sender}: {item.content}")

# 发布图文
wx.moment.publish(
    text="周末出游 🌄",
    images=["C:/photos/1.jpg", "C:/photos/2.jpg"],
)

# 条件点赞
wx.moment.like_when(lambda count, item: count < 10)