本项目是一个基于影刀RPA(Robotic Process Automation)开发的自动化工具,主要功能是通过手机号码批量添加用户至企业微信。项目利用企业微信客户端自动化操作,实现了从手机号导入、去重处理到批量发送好友请求的全流程自动化。
项目特点:
xbot_robot/
├── .dev/ # 开发环境配置文件
│ ├── icon/ # 应用图标
│ ├── screenshot/ # 截图资源
│ └── *.flow.json # 流程配置文件
├── __pycache__/ # Python编译缓存
├── resources/ # 图像资源库
├── main.py # 程序入口
├── package.py # 包管理与全局变量
├── package.json # 项目元数据
├── settings.json # 应用设置
├── utils.py # 工具函数库
├── process*.py # 各流程模块
└── README.md # 项目说明文档
主要文件说明:
项目采用模块化设计,将不同功能拆分为独立流程:
# main.py 中的流程调用示例
def main(args):
try:
_ = xbot_visual.process.run(process="process15", package=__name__, inputs={}, outputs=[], _block=("main", 1, "调用流程"))
_ = xbot_visual.process.run(process="process12", package=__name__, inputs={}, outputs=[], _block=("main", 2, "调用流程"))
_ = xbot_visual.process.run(process="process2", package=__name__, inputs={}, outputs=[], _block=("main", 3, "调用流程"))
# ... 其他流程调用
finally:
pass
process12.py实现了手机号数据的读取和清洗:
# 从数据表格读取手机号并去重
def main(args):
try:
user_phones_list = xbot_visual.programing.databook.read_data_from_workbook(read_way="column", column_column_name="A", _block=("A 获取客户手机号码并去重去空格", 3, "读取数据表格内容"))
user_phones_list = xbot_visual.list.remove_list(lst1=user_phones_list, lst2=lambda: [None], _block=("A 获取客户手机号码并去重去空格", 4, "过滤列表中的多项"))
xbot_visual.list.remove_duplicate(lst=user_phones_list, _block=("A 获取客户手机号码并去重去空格", 5, "列表去重"))
# ... 写入处理后的数据
finally:
pass
process2.py负责确保企业微信正确启动并检查版本:
# 企业微信窗口检查
def main(args):
try:
while True:
try:
software_window = xbot_visual.win32.window.get(title="企业微信", _block=("B1 确保企业微信已启动,窗口已打开", 3, "获取窗口对象"))
return
except Exception as exception:
xbot_visual.dialog.show_message_box(title="未打开企业微信", message="请在电脑端打开您的企业微信,并弹出窗口", buttons="确定", _block=("B1 确保企业微信已启动,窗口已打开", 7, "打开信息对话框"))
finally:
pass
process13.py实现添加结果的分类统计:
# 结果数据写入
def main(args):
try:
xbot_visual.programing.databook.write_data_to_workbook(write_range="column", column_name="A", content=package.variables['send_success_list'], _block=("E1 结果保存至数据表格", 3, "写入内容至数据表格"))
xbot_visual.programing.databook.write_data_to_workbook(write_range="column", column_name="B", content=package.variables['send_fail_list'], _block=("E1 结果保存至数据表格", 4, "写入内容至数据表格"))
xbot_visual.programing.databook.write_data_to_workbook(write_range="column", column_name="C", content=package.variables['send_already_list'], _block=("E1 结果保存至数据表格", 5, "写入内容至数据表格"))
finally:
pass
使用限制:
无法找到企业微信窗口
添加失败或无响应
分辨率问题