影刀RPA实战:电商运营自动化——上新、改价、库存预警全流程
·
影刀RPA实战:电商运营自动化——上新、改价、库存预警全流程
作者:林焱 | 更新时间:2026-06 | 难度:中级 | 阅读时间:约14分钟

前言
如果你是电商运营,每天可能要做这些重复操作:
- 批量上新产品:复制粘贴标题、填写价格、上传图片
- 改价活动:大促前批量调整价格,活动结束再改回来
- 盯着库存:一个个查看哪些品即将断货
- 检查竞品:每天看竞品价格有没有变化
这些全部可以用影刀RPA自动化!本文覆盖电商运营的核心自动化场景。

第一章:批量上新产品
1.1 数据准备
拼多多店群自动化上架方案


把待上新的产品信息整理到Excel:
| 列名 | 说明 |
|---|---|
| product_name | 商品名称 |
| category | 类目路径(如:男装>T恤>短袖) |
| price | 售价 |
| original_price | 划线价 |
| stock | 库存数量 |
| weight | 重量(g) |
| description | 商品描述(HTML格式) |
| main_image | 主图路径 |
| detail_images | 详情图路径(逗号分隔) |
| sku_info | SKU规格信息(JSON格式) |
1.2 批量上新主流程(以淘宝为例)
主流程: BatchUploadProducts
# 读取待上新产品列表
产品列表 = 读取Excel: "products_to_upload.xlsx"
# 登录淘宝卖家中心
调用子流程: LoginTaobaoSeller
成功数 = 0
失败数 = 0
失败列表 = []
遍历 产品列表 as product:
尝试:
记录日志: "开始上新: " + product["product_name"]
# 进入发布宝贝页面
访问URL: "https://item.publish.taobao.com/sell/b/step1.htm"
等待: 2000毫秒
# 选择类目
调用子流程: SelectCategory(product["category"])
# 填写基本信息
调用子流程: FillBasicInfo(product)
# 上传图片
调用子流程: UploadImages(product["main_image"], product["detail_images"])
# 设置SKU规格
调用子流程: SetSKUInfo(product["sku_info"])
# 设置价格和库存
调用子流程: SetPriceAndStock(product["price"], product["original_price"], product["stock"])
# 设置物流信息
调用子流程: SetShipping(product["weight"])
# 提交发布
点击: //button[contains(text(),'发布宝贝')]
等待: 3000毫秒
# 确认发布成功
如果 存在(//div[contains(text(),'发布成功')]):
成功数 += 1
记录日志: "✅ 上新成功: " + product["product_name"]
否则:
失败数 += 1
失败列表.追加(product["product_name"])
截图: "upload_fail_" + product["product_name"] + ".png"
异常 as e:
失败数 += 1
失败列表.追加(product["product_name"] + " - " + e.message)
记录日志(ERROR): "上新失败: " + product["product_name"] + " - " + e.message
等待: 随机(3000, 6000)毫秒
# 发送完成通知
报告 = "批量上新完成\n成功: " + 成功数 + "\n失败: " + 失败数 + "\n"
如果 len(失败列表) > 0:
报告 += "失败列表:\n" + 换行分隔(失败列表)
发送企业微信消息: 报告
第二章:批量改价(大促前后)
2.1 应用场景
双11大促流程:
10月31日晚 22:00 → 预热价(8折)开启
11月01日 00:00 → 活动价(7折)开始
11月11日 23:59 → 恢复原价
→ 需要在精确时间批量改价,人工操作误差大,RPA自动化最合适
2.2 改价数据准备

price_rules.xlsx:
| product_id | normal_price | event_price | event_type |
| SP001 | 199 | 139 | 双11活动 |
| SP002 | 299 | 209 | 双11活动 |
2.3 批量改价子流程
子流程: BatchChangePrice(priceRules, priceType)
# priceType: "event_price" 或 "normal_price"
登录卖家中心
遍历 priceRules as rule:
尝试:
# 进入商品编辑页
访问URL: "https://item.publish.taobao.com/sell/update.htm?iid=" + rule["product_id"]
等待元素出现: //input[@id='J_PriceInput']
超时时间: 20秒
# 清空价格并输入新价格
新价格 = rule[priceType]
点击: //input[@id='J_PriceInput']
Ctrl+A
输入: 新价格
# 如果有SKU,需要分别设置各SKU价格
sku列表 = 获取元素列表: //input[contains(@id,'J_sku_price')]
如果 len(sku列表) > 0:
遍历 sku列表 as skuInput:
点击: skuInput
Ctrl+A
输入: 新价格
# 保存
点击: //button[contains(text(),'保存')]
等待: 2000毫秒
如果 存在(//div[contains(text(),'保存成功')]):
记录日志: "✅ 改价成功: " + rule["product_id"] + " → " + 新价格
异常 as e:
记录日志(ERROR): "改价失败: " + rule["product_id"] + " - " + e.message
等待: 随机(2000, 4000)毫秒
# 定时触发:活动开始前30分钟
# 在影刀中设置定时任务

第三章:库存预警监控
3.1 库存监控策略
不同产品设置不同预警阈值:
快消品(备货周期3天)→ 低于 库均日销 × 5 = 预警
普通商品(备货周期7天)→ 低于 库均日销 × 10 = 预警
大件商品(备货周期30天)→ 低于 库均日销 × 40 = 预警
3.2 库存采集与预警

主流程: StockMonitor
# 读取商品配置(含预警阈值)
productConfig = 读取Excel: "product_config.xlsx"
# 构建产品ID→配置的映射
configMap = {}
遍历 productConfig as row:
configMap[row["product_id"]] = {
"name": row["product_name"],
"warning_days": row["warning_days"], # 预警天数
"daily_sales": row["avg_daily_sales"] # 近30天平均日销
}
# 采集当前库存
访问URL: "https://sellercenter.taobao.com/shop/stock-management.htm"
等待页面加载
低库存预警 = []
# 获取所有商品库存
循环翻页获取所有库存数据:
库存行列表 = 获取元素列表: //tr[@class='item-row']
遍历 库存行列表 as row:
product_id = 获取文本(row + //td[@class='item-id'])
current_stock = 整数(获取文本(row + //td[@class='stock-count']))
如果 product_id 在 configMap:
config = configMap[product_id]
预警库存线 = config["daily_sales"] × config["warning_days"]
如果 current_stock <= 预警库存线:
低库存预警.追加({
"product_id": product_id,
"product_name": config["name"],
"current_stock": current_stock,
"warning_threshold": 预警库存线,
"daily_sales": config["daily_sales"],
"days_remaining": current_stock / config["daily_sales"] if config["daily_sales"] > 0 else 999
})
# 排序:按剩余天数升序(最危险的排前面)
低库存预警 = 排序(低库存预警, 按="days_remaining", 升序=True)
# 生成预警报告
如果 len(低库存预警) > 0:
报告 = "🚨 库存预警报告(" + 今日日期() + ")\n\n"
# 紧急(剩余3天以内)
紧急列表 = 过滤(低库存预警, days_remaining <= 3)
如果 len(紧急列表) > 0:
报告 += "【🔴 紧急 - 3天内断货】\n"
遍历 紧急列表 as item:
报告 += " " + item["product_name"] + ": 剩余" + item["current_stock"] + "件,约" + round(item["days_remaining"]) + "天\n"
# 警告(3-7天)
警告列表 = 过滤(低库存预警, 3 < days_remaining <= 7)
如果 len(警告列表) > 0:
报告 += "\n【🟡 警告 - 7天内需补货】\n"
遍历 警告列表 as item:
报告 += " " + item["product_name"] + ": 剩余" + item["current_stock"] + "件\n"
# 提醒(7天以上)
提醒列表 = 过滤(低库存预警, days_remaining > 7)
如果 len(提醒列表) > 0:
报告 += "\n【🟢 提醒 - 可以计划备货】\n"
遍历 提醒列表 as item:
报告 += " " + item["product_name"] + ": 剩余" + item["current_stock"] + "件\n"
# 发送预警(紧急用钉钉/企微电话告警,普通用消息)
如果 len(紧急列表) > 0:
钉钉发送DING消息(收件人="运营负责人", 内容=报告) # DING = 电话告警
否则:
钉钉发送群消息(群="运营群", 内容=报告)
# 保存预警记录
保存Excel: 低库存预警, "stock_warnings_" + 今日日期() + ".xlsx"
TEMU店群如何管理运营?
第四章:竞品价格监控


4.1 监控逻辑
目标:每天早上9点,自动查询竞品的价格
如果竞品降价超过10%,立即通知运营
生成价格走势报告(最近30天)
4.2 竞品采集流程
主流程: CompetitorPriceMonitor
# 读取竞品列表
竞品列表 = 读取Excel: "competitor_list.xlsx"
# 包含字段: competitor_shop, product_name, product_url, our_price, last_price
价格变动列表 = []
遍历 竞品列表 as comp:
尝试:
# 访问竞品页面
访问URL: comp["product_url"]
等待元素出现: //div[@id='J_PromoPriceNum']
超时时间: 15秒
# 获取当前价格
价格文本 = 获取文本: //span[@id='J_PromoPriceNum']
或 //em[@id='J_PromoPriceNum']
当前价格 = 浮点数(正则提取第一个数字(价格文本))
# 对比上次价格
上次价格 = 浮点数(comp["last_price"])
价格变动 = (当前价格 - 上次价格) / 上次价格 × 100
如果 abs(价格变动) >= 2: # 变动超过2%才记录
价格变动列表.追加({
"shop": comp["competitor_shop"],
"product": comp["product_name"],
"url": comp["product_url"],
"last_price": 上次价格,
"current_price": 当前价格,
"change_pct": round(价格变动, 1),
"our_price": 浮点数(comp["our_price"])
})
# 更新Excel里的价格
更新Excel行: comp["product_url"], "last_price", 当前价格
异常 as e:
记录日志(WARN): "采集失败: " + comp["product_name"] + " - " + e.message
等待: 随机(2000, 5000)毫秒
# 生成价格变动报告
如果 len(价格变动列表) > 0:
# 找出降价幅度大于10%的竞品
大幅降价 = 过滤(价格变动列表, change_pct < -10)
如果 len(大幅降价) > 0:
告警消息 = "⚠️ 竞品大幅降价预警!\n\n"
遍历 大幅降价 as item:
告警消息 += item["product"] + "(" + item["shop"] + ")\n"
告警消息 += " 降价: " + item["last_price"] + " → " + item["current_price"] + "(降" + abs(item["change_pct"]) + "%)\n"
告警消息 += " 我们的价格: " + item["our_price"] + "\n\n"
钉钉发送消息(告警消息, at_all=True) # @所有人
第五章:整合调度
主流程: DailyEcommerceAutomation
上午9点:
运行 CompetitorPriceMonitor ← 竞品价格监控
运行 StockMonitor ← 库存预警检查
上午10点:
运行 BatchUploadProducts ← 处理待上新队列(如果有)
大促活动前30分钟:
运行 BatchChangePrice(活动价) ← 切换活动价
大促活动结束后5分钟:
运行 BatchChangePrice(原价) ← 恢复原价
每晚22点:
生成当日运营数据汇总报告
发送到运营群
总结

| 场景 | RPA价值 |
|---|---|
| 批量上新 | 从2小时/10款→10分钟/10款,效率提升12倍 |
| 批量改价 | 精确时间点操作,避免手误,活动时间精准 |
| 库存预警 | 7×24小时监控,提前预警防止断货 |
| 竞品监控 | 实时感知市场变化,快速响应竞品策略 |
这套系统可以帮电商运营每天节省2-4小时,让人专注在选品、策划等更有价值的工作上。
下一篇推荐:《影刀RPA物流自动化:发货单打印、快递跟踪、异常处理》
关注作者 获取更多影刀RPA实战教程!
更多推荐



所有评论(0)