序曲
遇到事,先冷静下来
我需要的是从重复的劳动中解脱出来,但不是一成不变的简单群发。能不能说,我写一个消息模板,然后自动地发给每一个需要发送的客户?
再进一步想,我消息目标的群体是固定的。客户的组群,日常在微信中都用“标签”来维护,已经养成了加注标签的习惯。我的消息目标是明确的。
所以我缺少的是一个能替我完成重复规则事务,会不厌其烦的发消息的机器人。
那么有这样的机器人吗?这是我一个打工人能够拥有的吗?我不禁开始陷入了沉思。。。
(片刻过后。。。)
经过了一番“上网冲浪”(百度一下,你就知道)。你别说,还真有!
机器人流程自动化(Robotic Process Automation,简称RPA),电脑上装个应用就搞定,好家伙,不亏是2024年啊。
进一步了解RPA软件,发现这玩意还是要学习一下的,最终我选用了“粒元数字员工”作为自己的工具。等下这RPA好像都不用钱?这直接就是田螺姑娘啊!
正文
下面是适用“粒元”RPA实现的这个场景的具体过程,分享给大家,希望对大家有所帮助!
小试牛刀
1 进入通讯录
打开微信,通过“捕获元素”获取元素,再通过桌面自动化“点击元素(win)”依次点击,通讯录和通讯录进入界面
2 选择头像遍历
遍历获取头像和需要用到的信息,备注名和标签信息,这里我用标签中的是否包含了“男","女“来区分尊称”先生“和”女士“
3 发送
点击头像出现"发消息"进入聊天界面,选取输入框,调用"填写输入框(win)"后文本输入,调取”键盘输入”选回车,发送完成
4 全局变量
通过定义"全局变量"可以把需要定义的消息提炼出来,在发送消息前组织好消息内容再发送,就可以得到模板的效果
安全起见,先建个标签"测试客户"拉两个号先测试一下,先来看看效果
凝望深渊
看起来上面步骤实现起来还是比较顺利的,一切ok,似乎想要的效果已经达成了,直到我的膝盖中了一箭。
1 实战用例
为了测试真实需求,我建了一个名为“测试”的标签作为目标样本,里面收录了100个微信好友来测试效果,为了防止测试消息打捞到好友,我新建了一个变量来控制最后一步是否发送,并将其置为false。这样既保证了又测试的有效性又防止打捞到他人。
2 发现问题
当我使用100个好友的标签进行测试时,发现问题来了。“循环相似元素”并不能取到全部的数据而只能取到其中的一部分,大概是看到的一页数据。只有往下滚动翻下去的时候才能获取到新的数据
3 从入门到放弃
感觉我已经渐渐入门,怎么能够就此放弃。问题不大,于是我找了“滚动鼠标滚轮”的指令来解决翻页的问题。然而现实是残酷的,滚动鼠标滚轮并不会滚动一整页,也不会滚动一行。滚动不能来控制翻页也无法控制处理到了哪里。怎么办?abandon!
涅槃重生
1 锚标
我似乎陷于了绝望,但我又不甘心。看着滚动的时钟,我若有所思。时针已12点为一轮,12点就是时针的锚,而微信通讯录的滚动翻页同样可以将“相似元素”获取到的最后一条为锚标,当“滚动鼠标滚轮”后原来相似元素的最后一个元素消失的时候再获取到的“相似元素”就是新的一轮好友了。
2 子流程
翻看文档的时候,我发现子流程可以用来规范提炼步骤是一个好东西。于是我把之前的步骤用子流程归纳,并创建了处理翻页需要用到的子流程
3 再次挑战下拉翻页
好了前面“锚标"的思路以后事情就有了进展,再有了“子流程”的帮助,事情就变得清晰起来。
当然也没有一帆风顺,困难还是不少的,有了整体思路一些细节还是要优化的。
比如翻页以后点击头像,此时"点击元素“可能会点到昵称(如下图)。需要对点击元素,进行高级设置,将点击头像置为下面
4 最终boss, 最后一页
最后的最后问题了,最后一页的处理。通过界面信息,我可以获取到标签中好友的总数。那么我只要统计已经处理好”发消息“的好友相加,就可以判断是否处理完成所有好友,这是我之前整理子流程就想到的方法。由于使用了子流程,还需要通过流程参数在不同流程参数中传参。
但根据之前的方案,“最后第二页”中的最后一个好友有可能是不会消失在向下滚动中消失的,此时就需要判定为当前状态为”最后一页“。因为”上一页”的数据和“最后一页“会是重复的,因此需要从重复的以后开始执行操作,如此才能正常的完成所有的流程。
如图一为“最后第二页”,图二为”最后一页“,图二需要从图一最后一个后面开始操作。
终章
啊这,我成了!!!
10分钟100个客户,能就是RPA的能力吗?我感觉似乎还可以更快,但是不重要了。耳边似乎响起了一首老歌,问世间是否此山最高,或者另有高处比天高。。。
原来我只习惯喝咖啡,但现在我更喜欢沏一壶茶,品一抹香,悠然于岁月。偶然回头看一眼电脑,发现rpa已经跑完了…
tips: 一个应用实例中创建了名为"空标签"的标签,里面的用户为空,经实践先点击空标签再点击目标标签可以保证进入的标签后的页面是初始化的,滚动条在顶部。另外,如果有备注姓名同名同姓的,建议在后面加数字区分否则可能影响翻页,发送消息时可以把备注名中的数字去除不会影响发送效果。
本次操作的微信客户端版本为3.9.9.43