写了四十多篇文章,涵盖了大大小小各种专题。但有些小技巧,不够写一整篇文章,却又非常实用。它们散落在各篇文章的角落里,或者在我脑子里一直没机会写出来。
这篇把所有零散但重要的小技巧汇总在一起,做成一册速查手册。
我也是非技术出身,这些小技巧每一个都是踩坑后总结出来的。它们不是系统知识,但用好了能让你的流程少很多莫名其妙的麻烦。
流程设计类
1. 流程第一步永远放进程清理
不管什么流程,第一条指令放执行命令行:taskkill /F /IM chrome.exe /T 2>nul,第二条放等待2000毫秒。花3秒钟,省下无数排查端口冲突的时间。
2. 所有Excel文件路径不要写死
用变量拼接路径,而不是直接写C:\数据\采集结果.xlsx。哪天换电脑或者改目录,只改变量值,不用改几十个指令。
3. 每个流程加一个“紧急停止开关”
在流程最前面放一个判断:检查某个本地文件是否存在(如
C:\RPA_Data\STOP.txt)。如果存在,流程直接跳过所有操作结束。这样需要紧急停止定时任务时,创建这个文件就行,不用登录影刀后台。
4. 不要在循环内打开和关闭Excel
循环外打开Excel,循环内写入,循环外保存关闭。每写一行开关一次Excel,一万行数据要跑一整天。
5. 所有子流程的输入参数设默认值
子流程右上角“流程参数”里,每个输入参数都填上默认值。主流程忘记传参时,子流程用默认值跑,不会报“参数为空”。
调试排查类
6. 报错时先看变量面板,再看报错信息
大部分报错的根源在变量值不对。运行到断点停下来,看变量面板里所有变量的当前值。变量对了,步骤一般不会错。
7. “输出日志”是性价比最高的调试工具
不知道哪里出了问题?在每一步操作前后都加“输出日志”,输出当前步骤名和关键变量值。跑一遍,看日志就知道问题出在哪一步。
8. 二分法定位问题
流程很长,不知道哪一段出了问题。在流程中间加一个断点,跑过去看变量值对不对。对了,问题在后半段。不对,问题在前半段。反复二分,快速缩小范围。
9. 把流程拆成小段单独测试
一个100步的流程报错了,不要从头跑到尾找问题。把怀疑有问题的20步复制到一个新流程里单独跑,跑通了再放回去。
10. 善用“暂停”指令代替断点
断点需要提前设置。如果临时想看某一步执行后的状态,直接在那一步后面拖一个“暂停”指令。流程跑到那里自动暂停,变量面板可以看到所有值。
元素定位类
11. 捕获元素时多往外层点一下
影刀自动生成的XPath有时太精确(如//div[3]/span[2]/a[1]),页面稍微变化就失效。捕获时多往外层点一下,让影刀生成层级更短的XPath,稳定性更高。
12. 用浏览器控制台验证XPath
在浏览器按F12打开控制台,输入$x('你的XPath'),回车。如果返回空数组[],说明XPath匹配不到任何元素。返回了元素列表,说明XPath有效。
13. 相对路径XPath前面一定要加点号
遍历列表时,循环体内的XPath前面加.//表示在当前遍历元素的子树里查找。不加点号就会从整个页面的根节点开始找,永远找到第一个元素。
14. 模糊匹配比精确匹配稳定十倍
能用contains(@class,'title')就不要用@class='title'。能用contains(text(),'搜索')就不要用text()='搜索'。模糊匹配容错率高得多。
稳定性保障类
15. 任何网络操作都加超时和重试
HTTP请求、页面加载、元素等待——这些涉及网络的操作没有100%的成功率。每个都要设超时时间,超时后自动重试,重试2-3次再失败才报错。
16. 凌晨定时任务前加网络检测
定时任务触发后,第一步先访问一个一定存在的网址(如baidu.com),确认网络通畅。网络不通就直接结束并通知,不要硬跑然后全部超时。
17. 给每个循环加最大执行次数保护
条件循环有可能永远跑不到退出条件。在循环体内加一个计数器,超过预设的最大次数(如翻页超过200页)强制跳出循环并记录异常。
18. 变量使用前做非空判断
尤其是在循环内、子流程内使用的变量,使用前判断是否为空。列表为空则跳过遍历,文本为空则给默认值。不判断就直接用,迟早遇到NoneType报错。
效率提升类
19. 善用Ctrl+Z撤销误操作
影刀编辑区支持撤销,但很多新手不知道。拖错了指令、删错了步骤,按Ctrl+Z可以撤销。不止一步,可以连续撤销多步。
20. 用“注释”指令给复杂逻辑写说明
影刀指令面板里有一个“注释”指令,拖入后可以写任意文字,不影响流程执行。在复杂逻辑前面加注释,说明这段在做什么。三个月后的你会感谢现在的你。
速查索引
| 场景 | 参考序号 |
|---|---|
| 流程莫名其妙崩溃 | 1, 15, 17 |
| 变量值不对 | 6, 7, 18 |
| 定位元素失败 | 11, 12, 13, 14 |
| 不知道问题出在哪 | 7, 8, 9, 10 |
| 流程维护困难 | 2, 4, 5, 20 |
| 夜间定时任务不稳定 | 1, 15, 16, 17 |
#影刀RPA #RPA自动化 #速查手册 #避坑指南 #实用技巧
作者:林焱
本文为《影刀RPA学习手册》实用速查专题,内容源于实操经验的整理与分享。
