获取朋友圈点赞昵称列表并抽奖,快来看看你中奖了没
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,朋友圈点赞不定期抽奖送红包噢。
以上是关于获取朋友圈点赞昵称列表并抽奖,快来看看你中奖了没的主要内容,如果未能解决你的问题,请参考以下文章