影刀RPA新手教程:办公电商社媒全场景自动化攻略——不同岗位的影刀RPA实战方案

公司里不同岗位的同事来问我影刀怎么用,我发现一个问题。

做电商运营的关注的是"能不能帮我批量上架商品",做财务的想的是"能不能帮我自动对账",做自媒体的只关心"能不能帮我批量发文章"。

同样一个工具,不同岗位的用法完全不一样。

这篇文章按岗位分类,每个岗位给你一个完整的实战方案,看完直接能干活。

一、认识影刀

影刀是一个桌面RPA工具,模拟你操作电脑的一切行为。

点鼠标、敲键盘、打开网页、填表格、复制粘贴、下载文件、发消息——你能做的,影刀基本都能替代你做。

社区版免费下载安装。装完后记得装浏览器插件,网页自动化全靠它。

界面分四个区:左边指令面板(拖指令的地方)、中间流程编辑区(搭流程的地方)、右边属性面板(设参数的地方)、底部运行日志(看出错的地方)。

不用全记住,你大多数时间都只在中间的流程编辑区拖指令。

每次帮同事装,我都会叮嘱一句:“插件一定要装,不然网页操作全报错。”

二、运营岗:数据采集与竞品监控方案

在这里插入图片描述

运营最痛的点是什么?每天打开十几个网页,复制粘贴数据。

核心技能:元素定位

运营场景的自动化,90%靠元素定位。你不需要懂代码,会用"元素捕获"就够了。

打开影刀的"元素捕获",鼠标移到网页上你想抓的地方,影刀自动识别。

有四种定位方式:

元素捕获(最推荐):鼠标点一下,影刀生成选择器。存到元素库后,以后直接拖出来用。

XPath:就是给元素写"地址"。比如淘宝搜索框可以写成:

//input[@id='q']

这个写法是说:找到页面上id是"q"的input标签。@表示属性,//表示任意层级。

和它并列的还有CSS选择器,写法更像HTML:

input#q
input[placeholder="搜索"]
.product-item > .title

CSS写法更短,XPath功能更强(能匹配文本内容)。我实际使用中两种混着来,简单定位用CSS,复杂匹配用XPath。

正则表达式:提取价格、日期、手机号这类有固定格式的文本。比如从"原价199元"里提取数字:\d+

我第一次学的时候,在正则上卡了一上午。后来发现记住三个最常用的模式就够:\d+(数字)、.+(任意字符)、[a-zA-Z]+(字母)。

在这里插入图片描述

实战:竞品价格监控

每天自动采集竞品商品价格,存入Excel,价格变化超阈值发飞书通知。

流程设计:

打开网页 → 获取页面对象 → 搜索商品关键词 → 等待搜索结果加载 → 
获取商品列表(相似元素) → 循环提取标题和价格 → 
写入Excel → 与昨天数据对比 → 变化超阈值发飞书通知

关键指令清单:

步骤 指令 说明
打开网页 打开网页/获取已打开的网页对象 获取浏览器实例
搜索 填写输入框 + 点击网页元素 输入关键词搜索
等待 等待网页元素出现 等搜索结果加载完,别用sleep
采集 获取相似元素列表 + For Each循环 批量获取商品信息
提取文本 获取元素文本 / 获取元素属性 拿标题和价格文字
写入 写入Excel 行号用变量自增

一个要留意的点:如果页面有弹窗,先判断弹窗是否存在,存在就关闭。

from xbot import web

browser = web.get_active()
if browser.is_element_displayed('登录弹窗'):
    browser.find('关闭弹窗按钮').click()

翻页采集多页时,每翻一页都要重新获取相似元素列表,用For次数循环而不是For Each

因为翻页后DOM更新了,老的元素引用已经无效。这是新手最容易踩的坑,我第一次做的时候翻到第二页就报"未找到指定ID的元素",查了一下午。

拼多多店群自动化上架方案

三、客服岗:批量处理与自动回复方案

客服每天要处理大量重复问题:查物流、改地址、发话术。

核心技能:变量与流程控制

在这里插入图片描述

变量类型:字符串(文本)、数字、列表(['商品A','商品B'])、字典({'order_id':'12345'})。

客服场景最常用的是字符串变量,用来存订单号、客户消息、回复话术。

If判断:根据条件走不同分支。

order_status = get_order_status(order_id)
if order_status == '待发货':
    reply = '您的订单正在仓库拣货中,预计今天发出'
elif order_status == '已发货':
    reply = f'您的包裹已发出,快递单号:{tracking_number}'
else:
    reply = '已为您转接人工客服'

For循环:批量处理用户消息列表、订单列表。每条拿出来单独处理。

Try-Catch:处理异常不中断。客服场景里最重要的一点——处理某个订单时出错,不能影响其他订单的处理。

for order in pending_orders:
    try:
        process_order(order)
    except Exception as e:
        print(f'订单{order["id"]}处理失败: {e}')
        continue

实战:多平台订单状态批量查询

电商客服要在淘宝、京东、拼多多来回切换查订单信息。

方案:用一个统一流程,依次打开各平台后台 → 输入订单号搜索 → 提取物流/状态信息 → 汇总到Excel → 飞书通知异常订单。

子流程设计:每个平台写独立子流程(“查淘宝订单”、“查京东订单”),主流程按需调用。

这样做的好处:淘宝后台改版了只改淘宝子流程,不影响京东和拼多多。

四、财务岗:报表处理与数据录入方案

财务最浪费时间的是:Excel数据的整理、核对、录入系统。

在这里插入图片描述

核心技能:数据处理

Excel读写

from xbot import excel

# 读取
data = excel.read('D:\\报表.xlsx')

# 写入(传入二维列表)
excel.write('D:\\输出.xlsx', [
    ['项目', '金额', '日期'],
    ['办公费', 1280, '2026-06-01'],
    ['差旅费', 3500, '2026-06-02']
])

JSON解析:系统接口大多返回JSON,学会解析JSON是财务自动化的基本功。

import json

response = '{"status":"success","invoices":[{"no":"INV001","amount":5000}]}'
data = json.loads(response)
for invoice in data['invoices']:
    print(invoice['no'], invoice['amount'])

数据库连接:部分财务系统可以直接连数据库查询,比走网页快得多。

实战:发票信息自动录入

财务每天要把发票信息逐条录入报销系统。

流程:读取发票Excel → 循环每行 → 打开报销系统网页 → 逐字段填写表单 → 提交 → 记录结果。

from xbot import excel, web

def main(args):
    invoices = excel.read('D:\\发票数据.xlsx')
    browser = web.get('报销系统', None, 'chrome')
    
    success_count = 0
    fail_list = []
    
    for row in invoices:
        try:
            # 依次填写各字段
            browser.find('发票号码').input_text(row[0])
            browser.find('开票日期').input_text(row[1])
            browser.find('发票金额').input_text(row[2])
            browser.find('提交按钮').click()
            
            # 等待提交完成
            browser.wait_appear('提交成功提示', timeout=10)
            success_count += 1
        except Exception as e:
            fail_list.append({'发票号': row[0], '原因': str(e)})
            continue
    
    print(f'成功录入{success_count}条,失败{len(fail_list)}条')

用Try-Catch包住核心操作,出错时记录并跳过。我帮财务同事做这个流程时,没加Try-Catch,跑到第36条时网页超时,前面35条白跑了。

核心技能:判断与循环的配合

财务场景经常需要条件判断:金额大于5000走审批流程,小于5000直接入账。

If嵌套循环:外层循环遍历发票,内层根据金额走不同分支。

在这里插入图片描述

弹窗与加载处理

报销系统常弹"确认提交"、"操作成功"等弹窗。用"等待网页元素出现"等弹窗,再用"点击网页元素"点确认。

页面加载慢也要处理:browser.wait_load_completed(timeout=30)等页面完全加载。

五、电商岗:全平台数据采集与批量操作方案

电商是影刀用量最大的场景。

核心技能:网页自动化全流程

等待策略:电商网站页面复杂,加载慢。固定sleep不靠谱。

browser = web.get('淘宝', None, 'chrome')
browser.wait_appear('商品列表区域', timeout=30)  # 等商品列表出来
browser.wait_load_completed()  # 等页面完全加载

翻页处理:获取"下一页"按钮元素,判断是否可点击。最后一页时按钮会消失或带disabled属性。

while True:
    # 采集当前页数据...
    next_btn = browser.find('下一页按钮')
    if not next_btn.is_enabled():
        break  # 最后一页,退出循环
    next_btn.click()
    browser.wait_appear('商品列表区域')  # 等新页面加载

懒加载:滚动到页面底部触发加载更多内容。

for _ in range(20):  # 滚动20次
    browser.scroll_to(location='bottom', behavior='smooth')
    sleep(2)  # 等新内容加载

iframe:有些电商页面的评价区在iframe里。需要先"切换到iframe"再操作内部元素,完事后"切回默认页面"。

弹窗处理:电商网站弹窗特别多——登录弹窗、优惠券弹窗、新人引导弹窗。

在这里插入图片描述

# 关闭各种弹窗
def close_popups(browser):
    popup_selectors = ['登录弹窗关闭', '优惠券关闭', '新人引导关闭']
    for selector in popup_selectors:
        if browser.is_element_displayed(selector):
            browser.find(selector).click()

实战:淘宝/京东/拼多多商品信息采集

采集方案:打开搜索页 → 获取商品列表相似元素 → 循环提取标题、价格、销量、店铺名 → 翻页 → 写入Excel。

淘宝采集:建议走网络监听路线。

browser = web.get_active()
browser.start_monitor_network()  # 开始监听
browser.reload()
# 获取XHR类型的接口响应
responses = browser.get_responses(url='api', use_wildcard=True, resource_type='XHR')
for resp in responses:
    data = json.loads(resp['response_body'])
    # 解析data提取商品信息...
browser.stop_monitor_network()

接口监听比DOM解析更稳定,不受页面改版影响。get_responses支持按URL过滤和资源类型过滤,resource_type可选XHR/Script/Document/Fetch等。

京东图片采集:京东详情页图片在style里而不是src里。

function (element, input) {
    var url = getComputedStyle(element, null)['background-image'];
    return url.substr(5, url.length - 7)
}

这个坑我查了好久才从官方文档找到解法。

批量操作:自动上架/下架/改价

电商运营每天要批量操作商品。方案:读Excel里的商品列表 → 循环打开后台编辑页 → 修改价格/库存 → 提交。

用For次数循环+每次重新获取元素的方式保证稳定性。

核心技能:HTTP/API

电商平台一般有商家API,直接调接口比走网页自动化快得多。

在这里插入图片描述

from xbot import http
import json

# 调用平台API
resp = http.post('https://api.platform.com/items/update',
    headers={'Authorization': 'Bearer xxx'},
    json={'item_id': '12345', 'price': 99.00}
)
result = json.loads(resp.text)

能走API就不要走网页自动化。API稳定、快速、不受页面改版影响。网页自动化是API走不通时的备选方案。

六、自媒体岗:内容分发与数据统计方案

核心技能:图像与ADB自动化

图像自动化:公众号后台、一些后台系统的元素可能捕获不到,只能用图像识别定位。

具体做法:截取一张按钮的参考图(如"发布"按钮),影刀在屏幕上找到它的位置,移动鼠标点击。

但要明白:图像自动化的稳定性最低。分辨率变了、窗口位置变了、按钮样式改了都会失效。能走元素定位就别用图像。

ADB(手机自动化):小红书、抖音这些主要用手机操作的平台,需要手机自动化。

import xbot
session = xbot.mobile.connect_by_custom_name('我的安卓手机')

# 查找元素
element = session.find('发布按钮')

# 滑动
session.swipe(500, 1200, 500, 200)  # 向上滑动

# 截图
session.screenshot('D:\\截图\\')

# 获取页面源码(XML结构)
page_source = session.get_page_source()

手机端也支持完整的元素查找:find_by_xpathfind_by_idfind_by_accessibility_idfind_by_label_name

实战:多平台内容一键分发

写完一篇文章,要发到公众号、知乎、掘金、CSDN四个平台。

流程:打开各平台后台 → 填入标题和正文 → 上传封面图 → 点击发布。

关键指令:填写输入框填标题、获取元素文本拿草稿内容、上传文件传封面图。

在这里插入图片描述

TEMU店群如何管理运营?

懒加载的处理:有些平台的编辑器是动态加载的(如微信公众号的富文本编辑器),需要等编辑器完全加载后再填入内容。用wait_appear等编辑器工具栏出现。

实战:小红书数据采集

小红书网页版需要登录,且内容滚动加载。

browser = web.get_active()

# 处理登录弹窗
if browser.is_element_displayed('登录弹窗关闭'):
    browser.find('登录弹窗关闭').click()

# 搜索关键词
browser.find('搜索框').input_text('影刀RPA')
browser.find('搜索按钮').click()
browser.wait_appear('搜索结果列表')

# 滚动加载更多
for i in range(10):
    browser.scroll_to(location='bottom', behavior='smooth')

小红书页面用Vue/React渲染,元素属性是动态的。建议用XPath按文本内容定位:

//span[contains(text(), '笔记标题')]
//div[contains(@class, 'note-item')]

不要用class做精确匹配,每次页面刷新class名都可能变。

七、进阶技能:Python协同与OCR

影刀支持在流程中写Python代码块,能调用影刀所有模块。

from xbot import web, http, excel, print
import json, re, datetime

def main(args):
    browser = web.get_active()
    
    # 复杂数据处理用Python
    resp = http.get('https://api.example.com/data')
    items = json.loads(resp.text)
    
    # Python原生操作:排序、过滤、聚合
    sorted_items = sorted(items, key=lambda x: x['price'])
    avg_price = sum(item['price'] for item in items) / len(items)
    
    # 正则提取
    for item in sorted_items:
        if re.search(r'打折|促销|秒杀', item['title']):
            print(f'促销商品: {item["title"]}')

OCR在自媒体场景里有用——比如从视频截图里提取字幕、从海报里提取文字。

from xbot import image
text = image.ocr(region=(0, 500, 1080, 200))  # 识别屏幕底部字幕

影刀OCR支持11种识别类型:通用文字4个版本、卡证识别6种(身份证/银行卡/增值税发票/火车票/出租车票/车牌)、表格识别。日常用通用文字识别-标准版就行。
在这里插入图片描述

八、系统联动与定时任务

飞书通知

飞书群添加自定义机器人 → 拿Webhook地址 → POST JSON消息。

from xbot import http
http.post('https://open.feishu.cn/open-apis/bot/v2/hook/密钥', json={
    "msg_type": "text",
    "content": {"text": "竞品监控:商品A降价15%,当前价格85元"}
})

邮件发送

影刀自带"发送邮件"指令。配置SMTP服务器就能发。支持QQ邮箱、163邮箱、企业邮箱。

定时任务

在影刀控制台设置:

  1. 进入控制台 → 计划管理 → 新建计划
  2. 选择运行的应用
  3. 选择执行机器人
  4. 设置执行时间(每天几点 / 每周几 / Cron表达式)
  5. 启用计划

这样每天到点自动跑,不需要人盯。

九、工程化与规范

流程复杂了一定要拆子流程。

我之前写了一个200多步的采集流程,调一次要跑20分钟,出bug后找到想哭。

后来拆成:淘宝子流程 + 京东子流程 + 数据汇总子流程 + 通知子流程。单独调试淘宝只要2分钟。

命名不要用"变量1"“变量2”。product_price_list列表1好一百倍。

在这里插入图片描述

版本管理在控制台操作。每次发版前打版本号,出问题直接回退。

十、速查表

指令速查

分类 常用指令 说明
网页 获取已打开的网页对象 绑定浏览器实例
网页 打开网页 打开URL
网页 等待网页元素出现 比sleep靠谱的等待
元素 获取相似元素列表 批量获取同类元素
元素 获取元素文本/属性 提取文字或src/href
操作 点击网页元素 模拟点击
操作 填写输入框 模拟输入
循环 For Each / For次数循环 注意页面刷新场景用次数循环
判断 If / Try-Catch 条件分支和异常处理
数据 读取Excel / 写入Excel 文件读写
请求 HTTP请求 发送GET/POST
通知 发送飞书消息 Webhook通知

常见错误速查

  • “未找到指定ID的元素” → 页面刷新DOM变了 → 改用For次数循环重新获取
  • “网页元素等待超时” → 页面加载慢/网络问题 → 加大超时时间
  • “OCR额度不足” → 免费额度用完 → 个人中心充值
  • “变量未定义” → 拼写错误/作用域问题 → 检查变量名
  • “索引超出范围” → 数组为空 → 循环前判断长度

影刀官方文档写得很详细,遇到问题先去官方文档搜,大部分都有解决方案。

更多实战教程可以看影刀RPA学习主页:home.linyan.cloud

#影刀RPA #RPA教程 #场景分类 #自动化方案 #办公自动化

作者:林焱。

Logo

电商企业物流数字化转型必备!快递鸟 API 接口,72 小时快速完成物流系统集成。全流程实战1V1指导,营造开放的API技术生态圈。

更多推荐