影刀RPA新手教程:鼠标点击指令的4种模式与选择场景
点一下按钮还能玩出花?影刀里鼠标点击有4种模式。
选错了要么点不动,要么点到别的地方去。
我从最常用到最特殊,一个一个拆开讲。
模式一:模拟点击——最通用,95%场景用它
场景:点击普通按钮、链接、复选框、下拉菜单。
核心:完全模拟真人鼠标操作——移动鼠标到元素位置,按下再抬起。
操作步骤
- 捕获目标元素(比如“登录”按钮)。
- 拖入 “点击元素” 指令。
- 在详情面板“点击模式”下拉选 “模拟点击”(默认就是这个)。
- 可选“点击后等待”填毫秒数(推荐300-500)。
什么时候必须用模拟点击
- 网页有点击动画或hover效果(按钮变色、弹菜单)。
- 元素需要触发JavaScript的
click事件。
- 复选框、单选框、下拉框。
容易踩的坑:
- 模拟点击要求元素必须在可视区域内。元素在页面底部被折叠了?加一个“滚动到元素”指令提前滚过去。
- 弹窗或遮罩层挡住目标时,模拟点击会点到遮罩上。先“等待元素消失”等遮罩关闭。
影刀实操
# 捕获元素:淘宝“立即购买”按钮

//button[@class="btn-buy now"]
# 推荐组合

滚动到元素("购买按钮")
等待(300) # 等滚动动画结束
点击元素("购买按钮", 模式="模拟点击", 等待=500)
模式二:浏览器内核点击——闪电快,跳过动画
场景:元素肯定在页面上、不需要hover效果、不需要滚动。
核心:直接调浏览器底层API触发点击,不移动鼠标光标。
操作步骤
- 同模拟点击,只是“点击模式”选 “浏览器内核点击”。
- 不需要提前滚动到元素(内核会自动处理)。
- 不触发CSS hover效果。
什么时候用
- 批量勾选表格里的复选框(速度快,不晃鼠标)。
- 点击隐藏元素(比如
display:none的元素仍可被内核点击)。 - 元素被其他层盖住但仍想点它。
容易踩的坑:
- 内核点击不触发
:hover样式,如果按钮只有在鼠标滑过时才显示,内核点击会失效。改回模拟点击。 - 有些网站检测真实鼠标移动,内核点击会被判为机器人。遇到反爬严的(如拼多多),换模拟点击。
实测对比
| 操作 | 模拟点击耗时 | 内核点击耗时 | 节省 |
|---|---|---|---|
| 点击1个按钮 | 0.8秒 | 0.2秒 | 75% |
| 勾选50个复选框 | 40秒 | 10秒 | 75% |
社区版用户时长有限,批量操作时内核点击能省不少时间。
模式三:图片点击——没有元素可捕获时
场景:Canvas画布里的按钮、Flash老页面、验证码图片上的坐标。
核心:上传一张按钮的小截图,影刀在屏幕上找图并点击。
操作步骤
- 截图:把要点击的按钮截成小图(PNG,只包含按钮,背景越简单越好)。
- 拖入 “点击图片” 指令(不是“点击元素”)。
- 上传截图,设置“相似度”(推荐0.8)。
- 选择点击模式(模拟点击或内核点击均可)。
实操要点
- 截图不要太大,20x20到50x50像素最佳。
- 相似度:0.7~0.9,太高了换分辨率就找不到,太低了乱点。
- 设置“查找范围”:可选“全屏”或“指定窗口”。
- 加“超时时间”:找不到图时等待几秒。
# 影刀指令参数参考
点击图片(图片="submit_btn.png", 相似度=0.8, 超时=5, 模式="模拟点击")
容易踩的坑:
- 页面缩放(Ctrl+滚轮)会导致图片匹配失败。运行前固定浏览器缩放为100%。
- 深色模式/浅色模式截图要分别准备。
- 图片点击最慢(扫描屏幕耗时),能捕获元素就别用图点。
模式四:坐标点击——最后的手段
场景:实在捕获不到元素(比如Flash、内嵌视频播放器),图片点击也找不到时。
核心:直接告诉影刀在屏幕的X、Y坐标位置点击。
操作步骤
- 用 “获取元素坐标” 指令(如果能捕获到近似位置的话)。
- 或手动测量:截图工具看按钮在屏幕上的像素位置。
- 拖入 “鼠标点击” 指令(不是“点击元素”),选“坐标模式”。
- 填X、Y坐标(单位像素,左上角为0,0)。
- 可选“相对窗口”还是“绝对屏幕”。
实操示例
# 场景:点击浏览器窗口右上角关闭按钮(假设计算得坐标是1200, 30)
鼠标点击(模式="坐标", X=1200, Y=30, 相对="窗口") # 相对浏览器窗口
容易踩的坑:
- 屏幕分辨率不同,坐标就废了。尽量用“相对窗口”模式,且窗口大小固定。
- 运行前用“设置窗口大小”指令锁定浏览器尺寸(比如1280x720)。
- 滚动页面后坐标会变,每次滚动前重新计算或滚动后重新获取参考元素坐标。
一个更稳的技巧
先捕获一个稳定的元素(比如logo),获取它的坐标,然后偏移算出按钮坐标。
# 获取logo的坐标(相对窗口)
logo坐标 = 获取元素坐标("logo元素")
目标X = logo坐标.X + 150 # 向右偏移150像素
目标Y = logo坐标.Y + 30 # 向下偏移30像素
鼠标点击(模式="坐标", X=目标X, Y=目标Y, 相对="窗口")
四种点击模式对比速查表
| 模式 | 原理 | 速度 | 稳定性 | 适用场景 | 阴影特有参数 |
|---|---|---|---|---|---|
| 模拟点击 | 光标移动+按下 | 中 | 高 | 普通按钮、下拉框、hover效果 | 点击后等待 |
| 内核点击 | 浏览器API直接触发 | 快 | 中 | 批量操作、隐藏元素 | 无 |
| 图片点击 | 屏幕找图匹配 | 慢 | 低 | Canvas、无元素可捕 | 相似度、查找范围 |
| 坐标点击 | 固定像素位置 | 快 | 很低 | 最后手段、固定窗口 | 相对窗口/屏幕 |
影刀专属选型建议
- 默认无脑选模拟点击,遇到问题再换。
- 社区版跑大批量任务:把模拟点击换内核点击,能省30%时长。
- 遇到“点不动”先试这3步:
- 换内核点击。
- 加“滚动到元素”。
- 加固定等待500毫秒再点。
异常处理模板
# 用Try-Catch兜底三种方式
Try:
点击元素("目标", 模式="模拟点击")
Catch:
输出日志("模拟点击失败,尝试内核点击")
Try:
点击元素("目标", 模式="浏览器内核点击")
Catch:
输出日志("内核点击也失败,使用图片点击")
点击图片("target_btn.png")
常见问题速查
| 问题 | 原因 | 解决方法 |
|---|---|---|
| 模拟点击报“元素不可见” | 元素在视窗外或被遮挡 | 先“滚动到元素” |
| 内核点击没反应 | 网站需要hover触发 | 换模拟点击,或手动触发hover |
| 图片点击乱点 | 相似度太低或图片太简单 | 提高相似度到0.9,截图包含独有特征 |
| 坐标点击点偏了 | 窗口大小/分辨率变了 | 运行前固定窗口大小:设置窗口大小(1280, 720) |
| 下拉菜单点不开 | 要先触发下拉展开 | 先“模拟点击”父元素,等300ms,再点选项 |
推荐资源
- 影刀官方教程:《鼠标与键盘指令详解》(F1帮助→指令参考→鼠标操作)。
- 调试工具:用“高亮元素”指令看捕获的位置对不对。
- 扩展阅读:专题12《输入文本与模拟输入的区别》——配合点击做表单填写。
作者:林焱
本文为《影刀RPA学习手册》系列文章之一,内容源于实操经验的整理与分享。
