影刀RPA新手教程:键盘自动输入完全指南——模拟键盘打字和真实按键驱动的区别
你有没有遇到过这种情况:要让电脑自动往Excel里填数据,但是有些单元格用鼠标点不了,或者填写输入框的时候影刀说"元素找不到"?这时候键盘自动化就是你的救星。本文将用最大白话的方式,带你从零学会影刀的键盘自动输入功能,案例是用键盘在Excel里导航到指定单元格并输入数据。
一、安装影刀——第一步先做对
去影刀官网下载安装包,双击运行,一路点"下一步"就行。安装完后桌面会出现影刀的图标,点击打开,注册登录你的账号。如果你是第一次用,会看到一个空白的流程设计器界面,左边是指令区,中间是流程画布,右边是属性配置区。这个界面你先熟悉一下,后面我们要一直跟它打交道。
安装时注意:一定要用管理员权限运行安装程序,否则后面操作一些系统软件时会报权限错误。我当时就是没注意这个,后来操作Excel时一直报错,折腾了半天才发现是安装时没给管理员权限。
二、案例背景:为什么要学键盘自动输入
想象一个场景:你每天要把一大堆数据填到Excel的固定单元格里,比如A1填日期,B1填销售额,C1填备注。如果数据有几百行,手动填要累死。你可能会想:用影刀的"写入Excel"指令不就行了吗?但现实是,有些Excel模板很复杂,合并单元格、隐藏行列、保护工作表,导致影刀的Excel指令不好使。这时候键盘自动化就是最稳妥的方案——模拟真人用键盘操作Excel。
我们的案例目标:让影刀自动打开一个Excel文件,用键盘快捷键Ctrl+G跳转到指定单元格(比如A100),然后输入数据,最后保存关闭。
三、元素定位四合一:XPath、CSS、正则、元素捕获
虽然键盘自动化不依赖网页元素,但很多时候你需要先用元素捕获定位到Excel的窗口或单元格,才能发送键盘指令。这里讲四种定位方式。
元素捕获:影刀最基础的功能,点击指令区的"捕获元素",鼠标变成十字光标,移动到你想定位的地方点击就行。比如捕获Excel的编辑栏,影刀会自动记录这个位置。
XPath路径:这是定位网页元素的"地址"。XPath有6种常见写法:
/html/body/div——从根节点开始找(绝对路径,不推荐)//div——找到所有div标签(相对路径,最常用)//div[@id='content']——找id等于content的div//div[contains(@class,'list')]——找class包含list的div//input[@type='text']——找type是text的input输入框//div[@id='a']//span——在id=a的div下面找所有span
XPath最大的优点是功能强大,能用文本匹配、层级关系定位。缺点是写法复杂,网页结构一变就容易失效。
CSS选择器:另一种定位方式,语法更简洁,有8种常见语法:
#content——找id为content的元素(对应XPath的//*[@id=‘content’]).list-item——找class为list-item的元素div——找所有div标签div > p——找div的直接子元素pdiv + p——找紧跟在div后面的第一个pdiv p——找div里面所有的p(后代元素)input[type='text']——找type是text的inputa:nth-child(3)——找第三个a标签
CSS的优点是语法简洁,查找速度快,适合现代网页。缺点是功能不如XPath强大,不支持按文本查找。
XPath vs CSS选型指南:
- 要按文字内容定位→选XPath(CSS做不到)
- 要定位父元素→选XPath(CSS做不到)
- 要语法简单、速度快→选CSS
- 一般建议:能用CSS就用CSS,需要文本匹配时才用XPath
正则表达式:在元素定位里用来做模糊匹配。比如一个按钮的文字是"提交订单(3)",括号里的数字会变,你可以用正则提交订单\(\d+\)来匹配。正则有3个常见场景:
- 匹配数字:
\d+ - 匹配文字:
提交订单 - 匹配任意字符:
.*
在影刀里用正则:捕获元素后,在元素编辑器里找到"匹配规则",选"正则表达式",然后填入你的正则表达式。
四、变量和数据类型——键盘输入的好搭档
键盘输入的内容往往来自变量,而不是写死的文字。影刀里变量有5种基本类型:
数字:就是普通的数值,比如100、3.14。在影刀里直接用,不需要加引号。
字符串:就是一段文字,必须用英文引号包起来,比如"Hello"、"销售额"。键盘输入的内容几乎都是字符串。
列表:就是一组数据的集合,像Python里的list。比如["苹果","香蕉","橙子"]。你可以用ForEach循环遍历列表,逐个输入到Excel里。
字典:就是"键-值"对应的数据,像Python里的dict。比如{"姓名":"张三","年龄":25}。适合处理结构化数据。
JSON:一种数据交换格式,长得像字典但其实是字符串。影刀里经常用来对接API接口。比如'{"name":"张三","score":95}'。
在键盘输入场景里,最常见的用法是:先把要输入的数据存到列表里,然后用循环逐个输入。比如:
店群矩阵自动化突破运营极限!
变量名:data_list 变量值:["2024-01-01","5000","达标"]然后在循环里用${data_list[0]}这样的方式取出每个值,用键盘指令输入到Excel里。
五、流程控制:让键盘输入按你的节奏来
键盘自动化离不开流程控制,否则你怎么控制输入的顺序、次数、条件?
For次数循环:指定循环多少次。比如要在Excel里输入10行数据,就设置循环10次。每次循环里,键盘输入的内容可以来自一个列表的不同位置。
相似元素循环:如果你要操作网页上一排相似的元素(比如10个输入框),用这个循环可以一次性遍历所有相似元素。不过键盘自动化场景里用得少一些。
ForEach列表循环:最实用的循环。把要输入的数据放在一个列表里,ForEach会自动逐个取出,每次取出一个值,你就用键盘输入这个值。比如列表里有["A","B","C"],第一次循环输入A,第二次输入B,第三次输入C。
While条件循环:只要条件满足就一直循环。比如"只要Excel里当前单元格不为空,就继续往下移动一行",这种场景用While。
无限循环:一直循环直到你手动停止。新手慎用,容易让流程停不下来。
If条件判断:根据条件决定要不要执行某段流程。比如"如果当前单元格已经有数据了,就跳过,否则就输入"。If判断的条件可以是:变量等于某个值、列表长度大于0、元素是否存在等。
Try-Catch异常处理:键盘自动化最容易出错的地方就是"目标窗口不见了"或者"单元格被锁定了"。用Try-Catch把可能出错的指令包起来:Try里放正常流程,Catch里放出错后的处理(比如截图保存、发通知、跳过当前行继续下一行)。我当时的做法是:Catch里先用"截图"指令保存现场,然后用"发送飞书消息"通知我哪里出错了。
六、键盘自动输入详解:模拟模式 vs 驱动模式
这是本文的核心。影刀的键盘输入有两种模式,理解了这个区别,你才能真正用好键盘自动化。
模拟键盘打字(模拟模式):影刀模拟操作系统接收到键盘信号,但不真的按键盘。优点是速度快,不需要焦点窗口,可以在后台运行。缺点是有些软件(特别是老旧的ERP、Excel的某些受保护区域)不认模拟信号,导致输入失败。
真实按键驱动(硬件驱动模式):影刀往系统底层发送键盘扫描码,就像你真的按了键盘一样。所有软件都认这种方式,包括游戏、虚拟机里的软件。缺点是要保持目标窗口在前台,而且一次只能给一个窗口发信号。
怎么选?我的经验是:优先用模拟模式,如果输入失败了(比如Excel说"无法编辑此单元格"),再切换到驱动模式。切换方法:在"键盘输入"指令的属性面板里,找到"输入模式",选"硬件驱动"。
键盘输入指令的具体用法:
在影刀指令区,找到"硬件自动化"→"键盘",里面有这些指令:
输入文本:往当前焦点位置输入一段文字。比如输入
"Hello World"。注意:目标窗口必须处于激活状态(如果是驱动模式),或者目标元素已被捕获(如果是模拟模式)。按下按键:按一个单独的键,比如回车键(Enter)、Tab键、方向键。用法:在"按键"栏里填入按键名称,比如
enter、tab、down。组合键:同时按多个键,比如Ctrl+C(复制)、Ctrl+V(粘贴)、Ctrl+S(保存)。用法:在"组合键"栏里填入,比如
ctrl+c、ctrl+shift+s。按住按键/释放按键:有些场景需要长按一个键(比如按住Shift选一片区域),用这两个指令配合。
案例里的关键步骤:
- 用"启动Excel"指令打开文件(或者用"启动应用程序"指令,路径指向你的Excel文件)
- 用"窗口激活"指令确保Excel窗口在前台
- 用"键盘输入→按下按键"发送Ctrl+G(跳转快捷键),在弹出的跳转框里输入目标单元格地址(比如
A100),再按Enter - 现在光标已经在A100了,用"键盘输入→输入文本"填入你要的数据
- 按Tab键移动到下一个单元格,继续输入
七、Excel数据处理:键盘输入的好搭档
虽然本文讲键盘输入,但很多时候数据是存在Excel里的,你需要先读取Excel数据,再用键盘输入到其他地方。
影刀里操作Excel有两种方式:
- Excel离线指令:不需要安装Excel,直接读写xlsx文件。速度快,适合批量处理。
- Excel在线指令:需要安装并打开Excel,通过COM接口操作。能处理格式、公式、合并单元格。
键盘输入场景一般用在线指令,因为你要模拟真人在Excel里操作。但如果你只是要读取数据,用离线指令更快。
读取Excel数据的指令:打开Excel、读取单元格、读取行、读取列。读取的结果可以存到变量里,然后用键盘输入指令填到其他地方。
写入Excel的指令:写入单元格、写入行。但如果你遇到写入失败(比如单元格被保护),就用键盘输入代替:先让Excel窗口激活,用键盘快捷键跳转到目标单元格,然后用"输入文本"指令输入数据。
八、鼠标键盘图像自动化指令族
键盘和鼠标往往配合使用。以下是影刀里常用的鼠标键盘图像指令:
鼠标指令:
- 点击元素:点击捕获到的元素
- 点击坐标:点击屏幕的指定坐标(x,y)
- 双击:双击元素或坐标
- 右键点击:右键菜单经常用得到
键盘指令(前面已详细讲)
图像识别指令:
- 查找图像:在屏幕上找一张小图片的位置
- 点击图像:找到图片后点击它
- 等待图像出现:等屏幕上出现某张图再继续
图像识别在键盘自动化里很有用。比如Excel里某个按钮没有固定的元素属性,但图标是固定的,你就可以截图保存这个图标,然后用"查找图像"找到它的位置,再配合键盘操作。
OCR文字识别:有时候你要操作的目标是一个图片上的文字(比如扫描版PDF里的文字),这时候先用OCR识别出文字内容,再决定怎么操作。影刀支持百度AI、腾讯AI、阿里云AI三种OCR,需要在对应平台申请API Key。
九、进阶技能:让键盘输入更强大
HTTP请求/API对接:如果你要输入的数据来自网络(比如一个API接口返回的JSON数据),先用"发送HTTP请求"指令获取数据,解析JSON,提取你要的字段,再用键盘输入。
Python协同:影刀的指令覆盖不了所有场景,这时候可以嵌入Python代码。比如你要对输入的数据做复杂的格式转换(日期格式化、手机号脱敏),就在影刀里插入"Python"指令,写几行Python代码处理,处理结果存到变量里,再交给键盘输入指令。
Python代码嵌入方法:指令区→"编程"→"Python",在代码框里写Python代码。影刀会自动把变量传进去,你处理后的结果用print()输出,影刀会捕获这个输出并存到变量里。
ADB手机自动化:如果你要让手机也自动输入文字(比如自动填安卓APP的表单),用影刀的ADB指令。不过这个跟PC键盘输入是两套东西,本文不展开。
十、平台实战:电商场景里的键盘输入
键盘输入在电商场景里非常有用。比如:
淘宝/天猫商品上架:有些上架表单很长,而且不支持批量导入,你只能一个个填。用影刀的键盘输入,可以自动跳转到每个输入框,填入商品标题、价格、库存、描述,然后用Tab键跳到下一个,全程不需要鼠标。
拼多多批量修改库存:拼多多的后台有些输入框用元素捕获定位不到(动态ID),这时候用键盘操作:先用快捷键Ctrl+F搜索"库存",然后用Tab键移动到库存输入框,用键盘输入新库存数,最后按Ctrl+S保存。
抖音小店客服自动回复:顾客发来消息,影刀监听到后,用键盘输入自动打字回复。比用"填入文本"指令更可靠,因为抖音的输入框有时候会识别不到。
十一、系统联动:让键盘输入结果自动通知你
键盘自动化流程跑完后,你肯定想知道结果。影刀可以跟这些系统联动:
飞书消息通知:流程跑完或出错时,自动发飞书消息给你。指令:指令区→"系统集成"→"飞书"→"发送消息"。填入你的飞书机器人的Webhook地址,消息内容可以包含变量(比如"第5行输入失败,单元格A5被保护")。
飞书多维表格:把键盘输入的结果存到飞书多维表格里。比如你用键盘往Excel里填了100条数据,同时把这100条数据写到飞书多维表格做备份。指令:指令区→"系统集成"→"飞书多维表格"→"写入记录"。
邮件发送:流程跑完自动发邮件报告。支持QQ邮箱、网易邮箱、企业邮箱。指令里填入SMTP服务器地址、账号密码、收件人、邮件正文。
定时任务:键盘输入流程可以设置定时触发。比如每天早上9点自动打开昨天的Excel文件,用键盘输入新的数据。设置方法:影刀设计器右上角→"定时任务"→"新增定时任务"→选择你的流程→设置触发时间(支持Cron表达式)。
十二、工程化与规范:让键盘自动化稳定可靠
键盘自动化比鼠标点击更容易受干扰(比如突然弹出一个对话框,键盘输入就跑到对话框里去了),所以工程化规范特别重要。
子流程封装:把"打开Excel→跳转单元格→输入数据→保存"这4步封装成一个子流程,主流程里只要调用这个子流程并传参数(文件名、单元格地址、输入内容)就行了。这样代码干净,也好维护。
子流程创建方法:在流程设计器里,右键→"新建子流程",给子流程起个名字(比如输入Excel单元格),然后在子流程里定义参数(输入参数:文件名、单元格地址、内容;输出参数:是否成功)。
调试技巧:键盘自动化最难调试的就是"为什么没输入进去"。我的方法是:
在关键步骤前后加"截图"指令,保存现场图片
用"等待"指令在每一步之间加1秒延迟,给软件反应时间
用"高亮元素"指令确认捕获的元素位置对不对
temu店群自动化报活动案例
- 用"打印日志"指令输出变量的值,确认数据没错
调试时记得打开影刀的"调试模式"(右上角有个虫子图标),这样流程会一步步执行,你可以看到每步的变量值和截图。
命名规范:变量名要有意义,比如excel_file_path(Excel文件路径)、target_cell(目标单元格)、input_data(要输入的数据)。不要用a、b、temp这种模糊的名字。
指令也要改名:默认的指令名是"键盘输入1"、“键盘输入2”,你看不懂。右键指令→"重命名",改成"跳转到A100并输入日期",一看就知道这步在干啥。
版本选择:影刀有多个版本,建议使用最新稳定版。有些老版本对键盘驱动模式支持不好,会导致输入丢字符。
流程模板化:如果你要做的键盘输入场景跟别人一样(比如很多人都要"自动填Excel"),你可以把你的流程保存为模板,分享给别人直接用。
十三、速查表与常见报错
键盘自动化最常见的报错和解决方法:
报错1:键盘输入没有反应
- 原因:目标窗口没有激活,或者输入模式选错了
- 解决:在键盘输入前加一条"窗口激活"指令;把输入模式从"模拟"改成"驱动"
报错2:输入的内容是乱码
- 原因:键盘输入不支持中文(某些模式下)
- 解决:切换到驱动模式;或者先用"复制"指令把中文复制到剪贴板,再用Ctrl+V粘贴
报错3:Tab键跳转方向不对
- 原因:Excel的Tab方向设置问题,或者某些单元格被锁定了
- 解决:在Excel选项里设置Tab键移动方向;或者用方向键(Down、Right)代替Tab
报错4:Excel弹出"无法编辑此单元格"
- 原因:单元格被保护,或者工作表被保护
- 解决:在键盘输入前,先用"键盘输入→组合键"发送Ctrl+Shift±(取消筛选)、Alt+T+P(取消保护,如果有密码要先输入密码)
报错5:流程跑到一半停住了
- 原因:某个窗口弹出来抢了焦点,键盘输入跑到错误的地方
- 解决:在关键步骤前后加"窗口激活";用Try-Catch包住可能出错的步骤
键盘指令速查表:
| 快捷键 | 用途 | 影刀里的写法 |
|---|---|---|
| Ctrl+G | Excel跳转单元格 | ctrl+g |
| Ctrl+C | 复制 | ctrl+c |
| Ctrl+V | 粘贴 | ctrl+v |
| Ctrl+S | 保存 | ctrl+s |
| Tab | 下一个单元格 | tab |
| Enter | 确认输入 | enter |
| F2 | 编辑单元格 | f2 |
| Esc | 取消/关闭对话框 | esc |
| Alt+F4 | 关闭窗口 | alt+f4 |
| Ctrl+Home | 跳到A1 | ctrl+home |
十四、完整案例:用键盘自动在Excel里填数据
现在把所有知识串起来,做一个完整的案例。需求:有一个Excel文件C:\Data\销售数据.xlsx,里面有一个"数据录入"工作表,我要用键盘自动在A1到A10填入今天的日期,B1到B10填入销售额(数据来自一个列表)。
流程步骤:
- 用"启动应用程序"指令打开Excel文件
- 用"窗口激活"指令确保Excel在前台
- 用"键盘输入→组合键"发送Ctrl+Home,确保从A1开始
- 创建销售额列表变量:
["1000","2000","3000","4000","5000","6000","7000","8000","9000","10000"] - For次数循环,循环10次
- 在A列输入日期:用"键盘输入→输入文本"输入
=TODAY()(Excel公式,自动填当天日期),按Enter确认 - 按Right方向键移动到B列
- 用"键盘输入→输入文本"输入销售额(从列表里取对应位置的值),按Enter确认
- 按Left方向键移动回A列,按Down方向键移动到下一行
- 在A列输入日期:用"键盘输入→输入文本"输入
- 循环结束后,用"键盘输入→组合键"发送Ctrl+S保存
- 用"键盘输入→组合键"发送Alt+F4关闭Excel
注意:每一步键盘输入之后,最好加一个"等待"指令(等待500毫秒),给Excel反应时间。如果Excel卡了,键盘输入就会跑到奇怪的地方。
我当时做这个案例的时候,遇到一个问题:循环到第三行的时候,Excel突然弹出一个"是否保存对xxx的更改"的对话框,导致后面的键盘输入全都输入到这个对话框里了。解决方法:在循环开始前,先用"键盘输入→组合键"发送Ctrl+S保存一次,然后在循环里每输入3行就保存一次,减少弹出保存对话框的概率。
十五、总结
键盘自动输入是影刀里最基础也最实用的功能之一。掌握了模拟模式和驱动模式的区别,你就解决了80%的输入问题。配合元素定位、变量、流程控制,你可以自动化几乎所有需要键盘操作的场景。
记住:键盘自动化最大的敌人是"焦点丢失"。只要保证目标窗口一直在前台、目标输入框一直在焦点状态,你的流程就能稳定运行。
更多影刀RPA教程和案例,访问 home.linyan.cloud
#影刀RPA #RPA教程 #键盘自动化 #Excel自动化 #RPA入门 #影刀教程 #键盘输入 #RPA实战
作者:林焱