同样是“点击”,为什么有时候点不上,有时候报错,有时候点了没反应?
原因:影刀有4种点击模式,用错了场景。
一句话选型:
- 普通网页 → 模拟点击(默认,最稳)
- 按钮被遮挡 → 模拟移动点击
- 后台/最小化浏览器 → 后端点击
- 需要精确坐标 → 点击坐标(不推荐,尽量少用)
一、四种点击模式对比
| 模式 | 精确名称 | 工作原理 | 适用场景 | 缺点 |
|------|----------|----------|----------|------| | 模拟点击 | 鼠标点击(模式=模拟点击) | 真实模拟鼠标移动+点击 | 99%的网页操作 | 浏览器不能最小化 | | 模拟移动点击 | 鼠标点击(模式=模拟移动点击) | 鼠标移动到元素位置再点 | 需要悬浮触发的下拉菜单 | 比模拟点击慢一点 | | 后端点击 | 鼠标点击(模式=后端点击) | 直接发送点击事件,不移动鼠标 | 浏览器后台运行、多窗口并行 | 部分JS监听失效 | | 点击坐标 | 点击坐标 | 指定屏幕坐标点击 | 画布、验证码、无元素区域 | 换分辨率就失效 |
影刀界面位置:
拖入“鼠标点击”指令 → 右侧详情面板 → “点击模式”下拉选择。
二、模拟点击——默认选项,99%场景够用
工作原理:影刀控制鼠标移动到元素中心位置,模拟真实的鼠标按下+抬起。
操作步骤:
- 捕获目标元素。
- 鼠标点击指令 → 点击模式选“模拟点击”。
- 其他参数保持默认。
什么时候必选模拟点击:
- 按钮有点击动画效果(如水波纹)
- 点击后触发JS事件
- 普通表单提交、链接跳转
易错点:浏览器最小化时,模拟点击会失败(因为鼠标没法移动到不可见的窗口)。
解决:后台运行时改用“后端点击”。
三、模拟移动点击——专治“悬浮菜单”
场景:导航栏的下拉菜单,鼠标移上去才出现。直接点击菜单项会失败(因为菜单还没出来)。
正确流程:
- 用“鼠标悬停”指令触发父菜单(注意:不是点击,是悬停)。
- 悬停后,菜单出现。
- 用“鼠标点击”,模式选“模拟移动点击”,点击子菜单项。
为什么不能用普通模拟点击:
普通模拟点击会直接点到父菜单上(因为子菜单还没出现,目标不存在)。
模拟移动点击会先移动到元素位置,移动过程中可能触发悬停,但建议还是分开写:先悬停,再点击。
实操写法:
# 1. 鼠标悬停
# 目标元素:一级菜单“个人中心”
# 行为:悬停
# 2. 固定等待 0.3 秒(让菜单动画展开)
# 3. 鼠标点击
# 目标元素:二级菜单“我的订单”
# 点击模式:模拟移动点击
💡 实测:有些网站悬停后子菜单需要鼠标“划过”才能保持显示。
这种情况用“模拟移动点击”可以,因为鼠标会真实移动到子菜单位置,移动路径上会经过父菜单,保持展开状态。
四、后端点击——后台浏览器也能点
场景:同时跑多个浏览器窗口(如店群管理),不想让鼠标满屏幕乱跳。
或者流程在服务器上无人值守,浏览器最小化运行。
原理:直接向元素发送“点击事件”,不移动物理鼠标。
操作步骤:
- 捕获目标元素(和普通捕获一样)。
- 鼠标点击指令 → 点击模式选“后端点击”。
- 浏览器可以最小化,流程继续运行。
需要注意:
- 部分网站的前端框架(如Vue/React)可能监听的是
mousedown/mouseup组合事件,后端点击只发click事件,可能无效。 - 如果后端点击失效,退回“模拟点击”并保持浏览器前台。
测试技巧:
先用“模拟点击”调通流程,确认元素能点到。再改成“后端点击”测试是否生效。
如果不生效,说明网站对点击事件有特殊校验,必须用模拟点击。
五、点击坐标——最后的备选方案
场景:画布上的元素(如Canvas绘图)、验证码拖动、或者元素实在捕获不到。
操作:
- 使用“获取元素位置”指令,拿到某个参照元素的坐标。
- 计算目标坐标(参照坐标 + 偏移量)。
- 使用“点击坐标”指令,输入X、Y值。
# 示例:点击Canvas画布中央的某个按钮(没有DOM元素可捕获)
# 1. 获取Canvas画布元素的位置
# 指令:获取元素位置
# 元素:canvas_container
# 输出:{canvas_x}, {canvas_y}, {canvas_width}, {canvas_height}
# 2. 计算中心点坐标
# 中心X = {canvas_x} + {canvas_width} / 2
# 中心Y = {canvas_y} + {canvas_height} / 2
# (用“计算表达式”指令做除法)
# 3. 点击坐标
# 点击模式:左键单击
# 横坐标:{center_x}
# 纵坐标:{center_y}
为什么尽量少用:
屏幕分辨率、浏览器缩放比例、窗口位置变化都会导致坐标偏移。
能用元素捕获就绝对不用坐标点击。
六、四个实战选型建议
| 场景 | 推荐模式 | 理由 |
|---|---|---|
| 普通网页按钮 | 模拟点击 | 兼容性好 |
| 悬浮菜单里的子项 | 先悬停,再模拟移动点击 | 保证菜单展开 |
| 服务器无人值守 | 后端点击 | 浏览器可最小化 |
| 弹窗里的关闭按钮(X) | 模拟点击 | 弹窗通常在前台 |
| 无头浏览器(不显示界面) | 后端点击 | 模拟点击会失败 |
| 验证码点击(如“请点击所有红绿灯”) | 模拟点击+延迟 | 需要真实鼠标轨迹 |
| 复选框/单选框 | 模拟点击 | 触发change事件 |
影刀专属操作清单
| 功能 | 精确位置 | 说明 |
|---|---|---|
| 切换点击模式 | 鼠标点击指令 → 详情面板 → 点击模式下拉 | 四种模式可选 |
| 鼠标悬停 | 指令面板搜索“鼠标悬停” | 行为选“悬停”,不要选“点击” |
| 获取元素位置 | 指令面板搜索“获取元素位置” | 输出左上角坐标+宽高 |
| 点击坐标 | 指令面板搜索“点击坐标” | 需要手动算偏移 |
| 鼠标滚动 | 鼠标滚动指令 | 滚动到元素附近再用点击 |
版本差异:社区版“后端点击”在部分老旧版本(2.x)不稳定,建议升级到3.0以上。
创业版/企业版支持“多浏览器并行”时后端点击效果更好。
常见问题速查
| 问题 | 原因 | 解决方法 |
|---|---|---|
| 模拟点击点了没反应 | 元素被遮挡或未加载完 | 先“等待元素出现”,或改用“模拟移动点击” |
| 后端点击无效 | 网站用了特殊事件监听 | 切回“模拟点击”,浏览器保持前台 |
| 点击坐标偏移 | 浏览器缩放比例不是100% | 运行前用“设置浏览器缩放”统一调成100% |
| 下拉菜单一点就消失 | 鼠标离开触发区域菜单关闭 | 用“鼠标悬停”保持菜单,再“模拟移动点击”子项 |
| 复选框点了没勾上 | 点击位置偏了 | 增加“点击偏移”,或改用“后端点击” |
推荐资源
- 影刀官方帮助中心:《鼠标点击指令详解——四种模式对比》
- 实操练习:打开淘宝首页,分别用四种模式点击“搜索”按钮,观察区别
- 影刀学院视频:《点击模式怎么选——避坑指南》(约8分钟)
最后一句:新手先用“模拟点击”走通流程。
遇到特殊场景(后台运行、悬浮菜单)再换成对应的模式。
不要上来就用坐标点击,那是最后一张底牌。
作者:林焱
本文为《影刀RPA学习手册》系列文章之一,内容源于实操经验的整理与分享。
