影刀RPA实操指南:鼠标点击指令的4种模式与选择场景

点击一个按钮,影刀给了4种模式:模拟鼠标点击、禁止模拟、JavaScript点击、图像点击。选错了,要么点不动,要么被反爬。

四种模式一句话总结: 模拟鼠标点击最通用、禁止模拟最隐蔽、JavaScript点击最暴力、图像点击最无奈。

picture.image


模式1:模拟鼠标点击(默认推荐)

picture.image

工作原理:真实模拟鼠标移动到元素位置→按下→松开。和真人操作几乎一样。

适用场景:90%的情况都用这个。特别是登录按钮、提交表单、普通链接。

picture.image 操作方法:

  1. 捕获元素后,点击模式下拉选择“模拟鼠标点击”
  2. 勾选“模拟移动”(鼠标滑过去的过程)
  3. 可选“随机偏移”几像素(更接近真人)

picture.image 配置示例:

# 右侧指令面板设置

点击元素:

![picture.image](https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/fd27b1ee0d8a4b5bb51c6c85ac91fb4c~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1784396600&x-signature=V%2FPX5og73B0iJplzsPASlIjoK1g%3D)
  - 元素:捕获的“登录”按钮
  - 点击模式:模拟鼠标点击
  - 模拟移动:✅ 勾选
  - 随机偏移:✅ 勾选,偏移范围3像素
  - 点击次数:1
  
![picture.image](https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/86aedf0cb0fd49afba08975c271c7d93~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1784396600&x-signature=Y8Bbk4B7Pfv9mhkGVc9PKvqUxSE%3D)

⚠️ 踩坑:部分网站会检测鼠标轨迹,模拟鼠标点击+模拟移动基本能过。但如果页面元素被遮挡(比如弹窗浮在上面),点击会失败。


picture.image

模式2:禁止模拟(后台点击)

工作原理:直接给浏览器发送点击指令,不移动鼠标,屏幕上看不到光标移动。

picture.image 适用场景

  • 影刀运行时你想继续用电脑干别的事(鼠标不乱跑)
  • 点按钮时不想触发鼠标移入的hover效果
  • 元素被其他窗口遮挡也不影响

操作方法: 选择“禁止模拟”即可,不需要额外参数。

对比示例:

# 模拟鼠标点击:鼠标会真的移动到“加入购物车”按钮上
# 缺点:运行期间你不能动鼠标,否则冲突

# 禁止模拟:后台发送点击信号,鼠标可以继续做别的事
点击模式:禁止模拟

优点:不占用鼠标,运行时可干别的事。 ❌ 缺点:部分网站前端只响应真实鼠标事件,会点不动。

实战建议:先用禁止模拟试,点不动再换模拟鼠标点击。


模式3:JavaScript点击(强行触发)

工作原理:直接在网页控制台执行element.click(),绕过所有事件监听和校验。

picture.image 适用场景

  • 元素可见但怎么都点不动(如被透明层覆盖)
  • 按钮被disabled但实际可交互
  • 需要批量快速点击多个按钮(比模拟快)

操作方法:

  1. 点击模式选择“JavaScript点击”
  2. 无需其他设置,直接运行

代码本质(影刀后台执行):

// 影刀自动生成的JS代码
document.querySelector('你的元素选择器').click();

⚠️ 踩坑

  • 某些网站会检测JS模拟点击并拦截
  • 触发的不是完整鼠标事件链(比如不会触发mouseover),依赖hover事件的按钮可能无效
  • 如果元素被遮挡或隐藏(display:none),JS点击也会失败

什么时候用:模拟鼠标点击失败、禁止模拟也失败、元素可见但就是点不动——试试JS点击,它最暴力。


模式4:图像点击(万不得已)

工作原理:截图匹配图像位置,然后点击。不需要元素捕获,不看HTML结构。

适用场景

  • 元素无法正常捕获(如Canvas画布内的按钮、Flash)
  • 元素被图片替代且没有特征class
  • 有些手机应用在电脑上投屏操作时

操作步骤:

picture.image

  1. 点击“图像点击”模式
  2. 点击“选择图像”,框选你要点的按钮区域
  3. 设置相似度(推荐0.8~0.9,太低了误点)
  4. 设置点击偏移(可选)

配置示例:

图像点击配置:
  - 图像:选中的按钮截图
  - 相似度:0.85
  - 搜索范围:全屏(或指定区域)
  - 点击模式:模拟鼠标点击

⚠️ 踩坑

  • 页面缩放或分辨率不同会导致找不到图
  • 按钮颜色变化就失效
  • 效率最低,每次都要做图像匹配

原则:最后的选择。能捕获元素就别用图像点击。


四种模式速查表

模式影刀中名称鼠标移动抗遮挡触发真实事件推荐场景
模拟鼠标点击模拟鼠标点击是(可关)完整通用首选
禁止模拟禁止模拟完整想同时用电脑
JavaScript点击JavaScript点击部分普通模式点不动
图像点击图像点击可选看图像看点击模式捕获不到元素

实战组合:弹窗关闭的点击策略

弹窗的“关闭”按钮经常被遮盖或动态加载,推荐三层降级:

第一层:模拟鼠标点击(带模拟移动)
  如果失败 -> Catch异常

第二层:JavaScript点击
  如果失败 -> 

第三层:图像点击(预存关闭按钮截图)

影刀实现(Try-Catch嵌套):

Try:
    点击元素("关闭按钮", 模式="模拟鼠标点击")
Catch:
    Try:
        点击元素("关闭按钮", 模式="JavaScript点击")
    Catch:
        图像点击(关闭按钮截图, 相似度=0.85)

常见问题速查

问题原因解决方法
模拟鼠标点击没反应元素被遮挡或不在可视区前面加滚动到元素;换JS点击
禁止模拟点了但页面不跳转网站检测了鼠标事件换成模拟鼠标点击
JS点击成功但后续逻辑异常按钮触发的回调依赖hover换模拟鼠标点击
图像点击总是点偏相似度太低或图像有背景变化提高相似度到0.9;截图裁剪到最小
运行期间鼠标乱跑用了模拟鼠标点击且未勾选“模拟移动”勾选“模拟移动”或换禁止模拟

我的调试习惯

不确定用哪种模式时,手动操作看一下:

  1. F12打开开发者工具,在Console输入$0.click()($0是当前选中元素)。如果能触发,说明JS点击可用。
  2. 手动把鼠标移上去看按钮有没有样式变化。如果有hover效果,JS点击可能不行,必须用模拟鼠标点击。
  3. 运行时不希望打扰你工作,一律先用禁止模拟,失败再降级。

影刀官方推荐:默认用“模拟鼠标点击”,遇到问题再尝试其他模式。不要上来就用JS点击,容易被风控。


作者:林焱

本文为《影刀RPA学习手册》系列文章之一,内容源于实操经验的整理与分享。

0
0
0
0
评论
未登录
暂无评论