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
callable—func(count, item)返回True表示点赞 - position
"top" | "current"— 起始位置 - max_count
int | None— 最多浏览数量
comment_when(func, position="top", max_count=None)
条件批量评论。
- func
callable—func(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 属性
| 属性 | 类型 | 说明 |
|---|---|---|
sender | str | 发布者昵称 |
content | str | 正文内容 |
type | str | 类型(文本/图片/视频/分享等) |
timestamp | str | 时间(如"8小时前") |
image_count | int | 图片数量 |
raw_text | str | 原始控件文本 |
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)