news 2026/7/11 7:16:07

影刀RPA 二维码处理:批量生成与自动识别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
影刀RPA 二维码处理:批量生成与自动识别

影刀RPA 二维码处理:批量生成与自动识别

作者:林焱


一、什么情况用影刀处理二维码

二维码在企业场景中用得越来越多——物流面单上的运单号是二维码,活动签到码是二维码,设备铭牌上的序列号也是二维码。需要批量处理时的痛点:生成几百个二维码逐个操作慢;扫码时手动举手机对着屏幕扫效率低。

影刀RPA可以:

  • 批量生成二维码:从Excel中读取数据,自动生成二维码图片并保存
  • 自动解析二维码:从截图或文件中批量识别二维码内容
  • 网页扫码模拟:在自动化流程中模拟扫码登录

二、实战一:批量生成物流面单二维码

店群矩阵自动化突破运营极限!

场景

仓库发货时,每张面单上要印一个包含运单号的二维码,方便快递员扫码确认。每天几百单,用在线工具逐个生成太慢。

importqrcodefromPILimportImage,ImageDraw,ImageFont# 读取运单号清单orders=pd.read_excel('C:\\仓库\\今日发货清单.xlsx')for_,orderinorders.iterrows():运单号=order['运单号']# 生成二维码qr=qrcode.QRCode(version=2,error_correction=qrcode.constants.ERROR_CORRECT_M,box_size=10,border=2,)qr.add_data(f"TN:{运单号}")qr.make(fit=True)qr_img=qr.make_image(fill_color="black",back_color="white")# 在二维码下方添加运单号文字width=qr_img.width img_with_text=Image.new('RGB',(width,width+40),'white')img_with_text.paste(qr_img,(0,0))draw=ImageDraw.Draw(img_with_text)draw.text((10,width+10),f"运单号:{运单号}",fill='black')# 保存img_with_text.save(f"C:\\仓库\\面单二维码\\{运单号}.png")print(f"生成完成,共{len(orders)}个二维码")

影刀整合:

【读取Excel】输出变量:发货清单 【Python代码块】执行上述生成代码 【打开照片查看器】确认生成结果 【将图片文件夹打包为ZIP】 【发送邮件到仓库负责人】

三、实战二:批量识别二维码内容

场景

活动签到时收到的几千张包含二维码的截图,需要提取二维码中的参会人信息。

importcv2frompyzbar.pyzbarimportdecodedefdecode_qr_from_image(image_path):"""从一张图片中解码所有二维码"""img=cv2.imread(image_path)# 转为灰度图提高识别率gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)# 解码decoded_objects=decode(gray)results=[]forobjindecoded_objects:results.append({'数据':obj.data.decode('utf-8'),'类型':obj.type,# QRCODE'位置':obj.polygon})returnresults ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/b22b61c60f074fef9cdc76492c54e3ec.png#pic_center)# 批量处理importos 签到结果=[]二维码图片文件夹='C:\\签到二维码截图\\'forfilenameinos.listdir(二维码图片文件夹):iffilename.endswith(('.png','.jpg','.jpeg')):path=os.path.join(二维码图片文件夹,filename)results=decode_qr_from_image(path)forrinresults:签到结果.append({'文件名':filename,'参会人信息':r['数据'],'识别时间':datetime.now().strftime('%H:%M:%S')})pd.DataFrame(签到结果).to_excel('签到统计.xlsx',index=False)

影刀配合:

【读取文件夹】路径:C:\签到二维码截图\ 文件类型:*.png *.jpg 【Python代码块】执行识别 【导出Excel】文件:签到统计.xlsx 【发送钉钉消息】@负责人:今日签到统计已完成

四、实战三:Web自动化中的扫码登录绕过

网页版微信、钉钉等需要扫码登录,这对自动化流程来说是个阻断点。

方案一:扫码后缓存Session(推荐)

# 仅首次需要手动扫码yingdao.open_url('https://wx.qq.com')yingdao.wait_for_element('#qrcode')# 提示用户扫码yingdao.show_notification('请扫码登录微信网页版,限时60秒')# 等待扫码完成(检测页面元素变化)foriinrange(120):ifyingdao.element_exists('#chat-list'):print("扫码成功!")breaktime.sleep(0.5)else:[video(video-KJsgJ2DW-1783725110081)(type-csdn)(url-https://live.csdn.net/v/embed/524992)(image-https://v-blog.csdnimg.cn/asset/b59aed2f01d4fe8583467562aaf4dcfd/cover/Cover0.jpg)(title-temu店群自动化报活动案例)]raiseException("扫码超时")# 导出Cookie/Sessioncookies=yingdao.get_cookies()withopen('cookies.json','w')asf:json.dump(cookies,f)# 后续运行时直接注入Cookieyingdao.open_url('https://wx.qq.com')yingdao.inject_cookies(json.load(open('cookies.json')))yingdao.refresh()

方案二:用已登录的浏览器Profile

【打开浏览器】指定用户数据目录:C:\browser_profiles\wechat_automation # 该目录下存有之前扫码登录的状态 【打开网页】URL:https://wx.qq.com ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/c60b915faf804d71a2ab3640ad6a5ae7.png#pic_center) # 自动恢复已登录状态

五、踩坑记录

坑1:二维码图片太小导致识别失败
pyzbar对分辨率敏感的,建议原图200×200像素以上。如果来源图片太小,先用cv2放大:

img=cv2.resize(img,None,fx=3,fy=3,interpolation=cv2.INTER_CUBIC)

坑2:二维码周边需要留白
生成二维码时如果box_size太小或图片边界太紧,扫码枪可能读不了。保持border≥2,图片四边留至少10像素白边。

坑3:扫码登录的Session时效不定
微信网页版Session可能几小时过期,钉钉可能几天。方案是在流程中加入"异常处理"——当检测到又被要求扫码时,发通知让用户重新扫码授权。

坑4:pyzbar需要安装Visual C++运行时
Windows上安装pyzbar前需要先安装VC++运行库。如果打包给别人用,要么用纯Python库qrcode(只生成不识别),要么用在线API。


适用人群:仓库管理员、活动运营、物流跟单员

难度:⭐⭐(生成二维码简单,批量识别稍难)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/11 7:14:41

Lofi音乐制作原理解析:5kHz以上频率过滤如何提升专注力与舒适感

Lofi音乐制作原理解析:5kHz以上频率过滤如何提升专注力与舒适感在数字时代的信息洪流中,专注力已成为稀缺资源。当我们需要深度工作时,常常发现自己的注意力被各种干扰因素分散——从手机通知到环境噪音。有趣的是,一种名为Lofi的…

作者头像 李华
网站建设 2026/7/11 7:13:56

VIVADO手册说明书

Vivado / Xilinx 常用手册主要分几类:**软件使用、综合实现、约束、Tcl、IP、器件、调试、烧录、安全加密**。 下面这些是最常见、最有用的。 ## 1. Vivado 软件流程类 ### UG973 — Vivado Release Notes / Installation / Licensing 用途: Vivado …

作者头像 李华
网站建设 2026/7/11 7:12:58

输入法不是打字工具,而是语言操作系统

1. 这不是选输入法,是选数字生活的基本操作界面“哪款输入法是目前你认为综合体验最好的?”——这个问题我收到过不下两百次,从刚买新手机的退休教师,到写代码到凌晨三点的后端工程师,再到每天要回三百条客户消息的电商…

作者头像 李华
网站建设 2026/7/11 7:12:50

Hermes Agent多实例部署:Profile分发与独立Bot选型指南

1. 项目概述:为什么“多实例”不是简单复制粘贴,而是Hermes Agent的生存基本功在Hermes Agent的实际落地过程中,我见过太多人卡在同一个地方:想让一个研究助手跑在笔记本上查论文,同时让另一个客服机器人跑在服务器上回…

作者头像 李华
网站建设 2026/7/11 7:09:50

网络分层排查链路

一、物理层。排查目的:从最基础的物理层开始排查,物理层不通,上层排查就没有意义。1、确认网卡、网线是等硬件是否正常工作。举例:下方是插好线,并且可以正常连接的网口。看flag标志:UP表示网卡激活状态&am…

作者头像 李华