macOS下cliclick实操全流程:从入门到多坐标循环自动化

admin 2026-02-04 17:59:34 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文详解macOS命令行工具cliclick的安装与多坐标循环自动化实现。内容包括三种安装方式、核心命令用法及Shell脚本编写,重点针对鼠标移动不点击、首个循环失效等问题提供了拆分命令语法、配置辅助功能权限等排查方案,最终提供优化脚本以提升重复操作效率。 综合评分: 91 文章分类: 安全工具,实战经验


cover_image

macOS下cliclick实操全流程:从入门到多坐标循环自动化

原创

松山雨雾 松山雨雾

网络安全老宋

2026年2月4日 09:00 山东

导语: 你好,我是老宋。关注我,精彩节目第一时间送达!

文章较长,不用Python也能简单自动化循环单击操作,建议先收藏再点赞

在macOS中,cliclick是一款高效的命令行自动化工具,可模拟鼠标移动、单击、双击等操作,适配多场景自动化需求。本文结合个人实操经历,梳理从安装完成后到实现多坐标循环点击的完整流程,包含基础操作、脚本编写、问题排查及优化技巧,供同类需求者参考。

一、前期准备:安装、验证与基础认知

cliclick仅适配macOS系统,需先完成安装再开展后续操作,以下整理3种常用安装方法,可根据自身需求选择,安装后需验证有效性,避免后续操作受阻。

1. 三种常用安装方法

方法一:Homebrew安装(推荐,适合有Homebrew环境的用户)

Homebrew是macOS常用包管理器,安装步骤简洁,终端输入单条命令即可完成安装,且能自动配置路径,后续便于更新和卸载:

brew install cliclick

若未安装Homebrew,需先在终端输入以下命令安装Homebrew,安装完成后再执行上述cliclick安装命令:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装完成后,cliclick可执行文件默认路径为/usr/local/Cellar/cliclick,系统会自动创建软链接,无需手动配置环境变量[superscript:4]。

方法二:安装包手动安装(适合无Homebrew环境的用户)

通过官方渠道下载安装包,步骤简单,适合新手操作:

  1. 访问cliclick官方下载链接https://www.bluem.net/en/projects/cliclick/,下载最新版本的安装包;
  2. 双击下载的安装包(通常为dmg格式),按照引导完成安装,默认安装路径可直接沿用,无需手动修改;

安装完成后,需将cliclick添加到系统环境变量,终端输入命令(需替换安装路径为实际路径),避免后续提示“command not found”。

export PATH=$PATH:/Applications/cliclick.app/Contents/MacOS

若官方下载速度较慢,可前往GitHub或CSDN等可信平台下载对应版本的安装包[superscript:4]。

方法三:源码编译安装(适合进阶用户)

适合熟悉终端操作、需自定义配置的进阶用户,步骤如下:

  1. 从GitHub克隆cliclick源码:
   git clone https://github.com/BlueM/cliclick.git
  1. 进入源码目录:cd cliclick
  2. 执行编译命令:make,编译完成后会生成可执行文件;
  3. 将可执行文件移动到系统可识别路径,完成安装。
   sudo cp cliclick /usr/local/bin/

2. 安装验证

打开终端,输入以下两条命令,分别验证cliclick版本及查看完整功能手册:

cliclick --version  # 查看版本号,确认安装成功cliclick --help     # 查看所有命令选项,熟悉基础语法

若终端正常输出版本信息及帮助文档,说明安装成功;若提示“command not found”,需重新检查安装路径或重新安装。

3. 核心基础:坐标获取

cliclick的鼠标操作依赖屏幕坐标,需精准获取目标位置的坐标值(支持多显示器负坐标,适配主屏左侧副屏场景)。获取方法极为便捷,终端输入以下命令即可:

# 打印当前鼠标所在坐标cliclick p:

操作步骤:执行命令后,将鼠标移动到目标位置(如按钮、图标)并保持不动,再次回车,终端会输出格式为“X,Y”的坐标值。我此次实操需用到三个坐标,分别获取为1245,482、1160,540、667,520,用于后续循环点击。

4. cliclick其他命令功能表

除实操中用到的移动、单击、版本查看、坐标获取命令外,cliclick还支持鼠标高级操作、键盘模拟、延时控制等多种命令,按功能分类整理如下,适配不同自动化场景需求。

| 功能分类 | 命令语法 | 功能描述 | 适用场景 | | — | — | — | — | | 鼠标高级操作 | rc:x,y 或 rc:. | 右键单击,x,y为目标坐标,“.”表示当前鼠标位置 | 需调出右键菜单的场景(如文件右键属性、菜单调出) | | dc:x,y 或 dc:. | 双击目标位置,兼容绝大多数应用,语法与单击一致 | 打开文件、双击图标等需双击操作的自动化场景 | | tc:x,y 或 tc:. | 三连击目标位置,部分应用可能存在兼容性问题 | 快速选中整行文本、连续触发操作等场景 | | dd:./dm:x,y/du:. | 拖拽组合命令:dd开始拖拽,dm移动到目标坐标,du结束拖拽 | 文件移动、窗口拖拽、文本选中拖拽等场景 | | 键盘模拟操作 | kp:按键名称 | 模拟单个按键的按下与释放(一键完成),支持回车键、空格等 | 模拟回车提交、空格确认、Tab切换输入框等场景 | | kd:修饰键,修饰键 | 按下指定修饰键(cmd/ctrl/shift/alt等),需配合ku释放 | 组合键操作(如cmd+c复制)的前置步骤 | | ku:修饰键,修饰键 | 释放通过kd按下的修饰键,需与kd对应使用 | 组合键操作完成后释放按键,避免后续操作受影响 | | t:”文本内容” | 模拟键盘输入指定文本,支持多语言基础字符与特殊字符 | 自动填写表单、输入固定文本等场景 | | 参数与辅助命令 | w:毫秒数 | 单个操作后添加延时,单位为毫秒,替代shell的sleep命令 | 适配应用响应延迟,避免操作执行顺序错乱 | | -w 基础毫秒数 | 全局基础延时,所有操作间均添加该固定延时 | 整体放慢自动化流程,适配卡顿应用或慢响应场景 | | -f 文件名 | 从指定文件中读取命令并执行,无需手动输入多条命令 | 复杂自动化流程,命令较多时简化执行步骤 | | -d 输出路径 | 指定坐标打印、操作日志的输出路径,默认输出到终端 | 需留存操作日志、批量记录坐标的场景 | | 其他特殊操作 | m:+x,+y 或 m:-x,-y | 相对坐标移动,基于当前鼠标位置偏移指定像素 | 窗口位置不固定,无需精准绝对坐标的场景 |

注:所有命令中,坐标均可替换为“.”表示当前鼠标位置,修饰键支持多键组合(用逗号分隔),三连击、特殊字符输入在部分应用中可能存在兼容性问题,建议提前单独测试。

二、脚本编写:实现多坐标循环点击

单条cliclick命令仅能完成单次操作,无法实现多坐标顺序执行、自定义间隔及循环,因此需编写Shell脚本,结合cliclick命令与sleep延时命令,满足“循环10次、各操作间自定义间隔”的需求。

1. 初始脚本编写

目标需求:循环10次,依次点击三个坐标,各步骤间隔分别为1秒、2秒、5秒,循环结束后提示执行完成。初始脚本如下,保存为桌面的click_loop.sh文件:

#!/bin/bash# 循环10次后自动停止,可修改10为任意次数for&nbsp;((i=1; i<=10; i++));&nbsp;do&nbsp; &nbsp; cliclick c:1245,482&nbsp; &nbsp;&nbsp;sleep&nbsp;1&nbsp; &nbsp; cliclick c:1160,540 &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;sleep&nbsp;2 &nbsp; &nbsp;&nbsp; &nbsp; cliclick c:667,520 &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;sleep&nbsp;5doneecho&nbsp;"循环执行完毕,共运行$i次"

2. 脚本执行步骤

编写完成后,需给脚本赋予执行权限并启动,终端依次输入以下命令(以桌面路径为例):

# 赋予执行权限chmod&nbsp;+x ~/Desktop/click_loop.sh# 进入脚本所在目录cd&nbsp;~/Desktop# 启动脚本./click_loop.sh

停止脚本的方法:终端中按下“Ctrl + C”,即可立即终止循环操作。

三、问题排查:解决鼠标移动但不单击、首个循环失效问题

启动脚本后,发现鼠标能正常移动到目标坐标,但未触发单击操作;同时,部分场景下首个循环完全未生效,经过多次排查,定位到核心问题并完成优化。

问题1:鼠标移动但不单击

原因分析,核心是cliclick的“坐标+单击”合写语法(c:x,y)存在解析兼容问题,部分版本中仅能触发移动,无法触发单击;其次,macOS辅助功能权限未完全生效,系统拦截了自动化单击操作。

解决方案

方案一:拆分移动与单击命令(官方推荐写法),将“c:x,y”拆分为“m:x,y”(移动鼠标)+“c:.”(当前位置单击),避免语法解析问题。

方案二:显式指定左键单击,使用语法“c:LEFT,x,y”,适配所有cliclick版本,兼容性拉满。

方案三:确认辅助功能权限,步骤如下:

  1. 打开“系统设置”→“隐私与安全性”→左侧“辅助功能”;
  2. 确认当前使用的终端(Terminal/iTerm2)已勾选;
  3. 勾选后关闭所有终端窗口,重新打开(权限需重启终端生效)。

问题2:首个循环未生效

原因分析,主要是权限未彻底加载、脚本未保存新版本(运行旧脚本),或macOS对首次自动化操作存在瞬时响应延迟,导致首个循环被系统拦截。

解决方案

  1. 彻底重启终端:关闭所有终端窗口,重新打开,确保权限完全生效;
  2. 确认脚本保存:打开click_loop.sh文件,确认修改后的内容已保存(按Cmd+S强制保存),避免运行旧版本;
  3. 添加微小延时:给首个操作加50毫秒延时,适配系统首次响应,同时新增循环次数打印,直观查看是否启动。

四、优化后脚本(最终可用版)

整合所有优化方案,最终脚本兼顾兼容性、可观测性,能完美实现目标需求,同时解决单击失效、首个循环无效问题:


!/bin/bash# 定义循环次数,可直接修改LOOPNUM=10# 加–delay 50:所有操作间加50ms延时,适配系统首次响应for ((i=1; i<=LOOPNUM; i++)); do    echo “正在执行第$i次循环…”  # 打印循环次数,确认启动状态    # 第一个坐标:移动+单击,适配系统响应    cliclick –delay 50 m:1245,482 c:.    sleep 1    # 第二个坐标:移动+单击    cliclick m:1160,540 c:.    sleep 2    # 第三个坐标:移动+单击,间隔5秒进入下一轮循环    cliclick m:667,520 c:.    sleep 5doneecho “循环执行完毕,共运行$LOOP_NUM次”

![](https://mmbiz.qpic.cn/sz_mmbiz_png/sowcUpcXRY2GluUiakqKzEFykYibd4jB1eNibhWXcZldRwtrkfILAyAF3OzxObTBw88icpvHXh0oRVlQKLViagpjvyQ/640?wx_fmt=png&from=appmsg&watermark=1#imgIndex=2)

五、实操总结与拓展建议

1. 核心要点

  • 权限是基础:macOS辅助功能权限必须勾选终端并重启,否则自动化操作会被拦截;
  • 语法避坑:优先使用拆分写法(m:x,y + c:.),避免合写语法的兼容问题;
  • 排查技巧:遇到问题先单独测试单条操作(如cliclick m:1245,482 c:.),排除循环或脚本整体问题。

2. 拓展建议

  • 修改循环次数:直接修改脚本中LOOP_NUM的值,即可调整循环次数,无需改动其他内容;
  • 更换点击方式:如需右键单击,将“c:.”改为“rc:.”;如需双击,改为“dc:.”;
  • 复杂自动化:可结合Shell脚本的条件判断、外部命令文件,实现更复杂的操作流程(如多坐标组合、定时启动)。

整体而言,cliclick是macOS终端自动化的轻量工具,只需掌握基础语法、规避权限和语法坑,就能快速实现鼠标操作自动化,大幅提升重复操作的效率。


如果你感觉有用,帮忙点个免费的关注转发,你的支持是我更新的动力

关注我的人,顺风顺水顺财神,朝朝暮暮有人疼!无一例外!


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:网络安全老宋 松山雨雾 松山雨雾《macOS下cliclick实操全流程:从入门到多坐标循环自动化》

一周懿语|第六十期 网络安全文章

一周懿语|第六十期

文章总结: 本文档为安恒信息发布的第六十期一周懿语,发布于2026年2月4日。内容主要回顾近期动态,涵盖赛博神域清除木马战绩、入选2027长春大冬会合作伙伴及在
评论:0   参与:  0