获取朋友圈点赞昵称列表并抽奖,快来看看你中奖了没

Posted 小小明-代码实体

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取朋友圈点赞昵称列表并抽奖,快来看看你中奖了没相关的知识,希望对你有一定的参考价值。

昨天我在朋友圈宣传了一次Google 开发者大会的活动:

这次宣传活动后,CSDN官方给予了意外惊喜:

我的朋友圈有100+点赞的,那么这3个手机壳我到底该送给谁呢?于是我决定获取点赞列表的昵称再抽奖。

本程序仅支持windows版本的微信,首先打开朋友圈左上角的消息列表,然后找到肯定是昨天自己发的这条朋友圈的消息:

点击后就能查看点赞列表:

下面我使用uiautomation来获取昵称列表,完整代码如下:

import uiautomation as auto
auto.uiautomation.SetGlobalSearchTimeout(1)

friendWindow = auto.WindowControl(
    searchDepth=1, Name="朋友圈", ClassName='SnsWnd')
friendWindow.SetActive()
item = friendWindow.ListItemControl(searchDepth=6, searchInterval=0.01)
comment_button = item.ButtonControl(Name="评论")
comment_pane = comment_button.GetParentControl().GetNextSiblingControl()
like_pane = comment_pane.GetFirstChildControl()
nicknames = []
for control, depth in auto.WalkControl(like_pane, maxDepth=4):
    if not control.Name or depth != 4 or not isinstance(control, auto.ButtonControl):
        continue
    nicknames.append(control.Name)
print(nicknames)

执行后结果如下:

那么下面我们抽奖就简单了:

import random

random.sample(nicknames, k=3)

然后抽奖结果为:

不排除以上三位好友有没有不需要的,不需要的话可以再继续抽。等CSDN官方实际发放奖励时,就私聊给他们每人一个手机壳定制链接。

几位群友自制的手机壳都是相当不错的:

可能部分童鞋对原理还不太理解,可以参看专栏《UI自动化控制PC版微信

本文的查找思路大致如下:

先找到第一个列表,然后再找到评论按钮,通过评论按钮定位到包含点赞列表的窗格进行递归遍历,递归遍历是按钮的节点,就通过按钮名称获取对应好友的备注。

这次活动感谢各位微信好友的点赞,欢迎各位老哥加我微信,我的微信号是xxmdmst,朋友圈点赞不定期抽奖送红包噢。

以上是关于获取朋友圈点赞昵称列表并抽奖,快来看看你中奖了没的主要内容,如果未能解决你的问题,请参考以下文章

榜单公布1024征文结果出炉,快来看看你上榜了没?

榜单公布1024征文结果出炉,快来看看你上榜了没?

Auto.js实现朋友圈点赞自动化

Auto.js实现朋友圈点赞自动化

软件测试面试题:微信发朋友圈点赞如何测试?

微信朋友圈点赞的测试用例