ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

SikuliX 屏幕自动化教程:新手 4 步跑通第一个图像识别脚本

SikuliX 屏幕自动化教程:新手 4 步跑通第一个图像识别脚本 SikuliX 屏幕自动化教程:新手 4 步跑通第一个图像识别脚本【免费下载链接】SikuliX1SikuliX version 2.0.0 (2019)项目地址: https://gitcode.com/gh_mirrors/si/SikuliX1SikuliX 是一款开源的屏幕自动化工具:它不依赖程序内部接口,而是用 OpenCV 图像匹配在屏幕上定位按钮、菜单等可见元素,再用模拟的鼠标和键盘完成点击与输入。适合想自动化重复点击、表单填写,或需要测试没有开放接口软件的 GUI 场景。它的核心思路只有一句:屏幕上看得见的,就能被操作。SikuliX 能做什么,不能做什么先划清边界,避免对仓库产生错误预期。能做的:在 Windows、macOS、Linux 上做 GUI 自动化,定位并操作屏幕元素;目标图像有轻微色差、局部遮挡时仍能匹配,容差由similar()参数控制;通过 Tesseract 做屏幕文字识别(OCR);用 IDE 编写、调试和运行自动化脚本,也支持从命令行运行脚本。需要留意的限制(以仓库 README 为准):本仓库是 2.1.0 快照代码库,官方 README 说明上游已归档、持续开发转移到名为 OculiX 的分支项目,想追最新发行版请先看根目录 README;VNC 与 Android 远程设备支持目前处于暂停状态;API 模块只能作为 Maven 依赖使用,不再提供可直接命令行运行的 jar。环境预检:Java 11 与平台专属 jar做什么:在终端执行java -version和mvn -version。为什么:IDE/README.md 明确要求 Java 11 及以上、64 位环境,并建议用 AdoptOpenJDK;构建需要 Maven。同时要注意 IDE 的 jar 是按系统分别打包的(sikulixwin、sikulixmac、sikulixlux 三种前缀),不能跨平台混用。预期结果:java -version输出 11 或更高版本。如果后续启动 IDE 时报版本或架构错误,先回到这一步排查。获取代码并构建 SikuliX IDE第 1 步,克隆仓库:git clone https://gitcode.com/gh_mirrors/si/SikuliX1仓库是 Maven 多模块结构:API 是核心识别库,IDE 是图形编辑器,Support 存放构建模板和脚本。第 2 步,在仓库根目录执行mvn clean install。预期结果是 API 与 IDE 两个模块编译通过,IDE 模块的 target 目录里生成 IDE 的 jar 包,具体文件名以构建输出为准。第 3 步,用java -jar启动该 jar(或按系统习惯双击运行)。预期看到编辑器窗口,可以新建脚本文件并运行。第 4 步,确认脚本语言可用。Jython 已内置,Python 风格脚本开箱即用;若要用 Ruby,需自行把 JRuby 9.2.11 的 jar 放到类路径(IDE/README.md 有说明)。小演示 ️:定位一张屏幕截图并点击它先做输入准备:打开一个已知程序,找到要点的按钮,把按钮区域截屏,存为button.png放在脚本同目录。然后在 IDE 里新建脚本,写入:s.wait(2) p find(button.png).similar(0.8) click(p)逐行看用户在屏幕上能观察到什么:s.wait(2)先等 2 秒,给程序留出画面就绪的时间;find(...)用截图在当前屏幕做匹配,.similar(0.8)把相似度容差设为 80%;click(p)驱动鼠标移动到匹配位置并点击。运行脚本后,你能看到光标移动到目标按钮上完成一次真实点击。如果目标被部分遮挡或颜色略有变化,匹配依然可能成功。仓库自带了一对测试图:下图左为完整画面,右图中多处被白色色块遮挡,常被用来验证 SikuliX 在局部遮挡下的识别鲁棒性。识别失败时,先检查这三项报 FindFailed(找不到图):先确认截图与屏幕上的实际内容完全一致——分辨率、缩放、主题色不同都会导致失配。画面大体相同但细节有差异时,把similar(0.8)降到 0.7 再试。脚本没反应:wait之后画面可能还没就绪,把等待时间调长;同时确认脚本运行的是当前显示器所在环境,多屏场景下注意区域(Region)选择。Linux 缺库报错:内置 OpenCV 库基于 Ubuntu 构建和测试,其他发行版可能需要自行补齐系统依赖,处理方式见 IDE/README.md。OCR 不可用:Windows 下 Tesseract 已内置;macOS 建议用 Homebrew 安装对应版本的 Tesseract,Linux 需保证 Tesseract 与 Leptonica 库在系统库路径中。jar 跑不起来:多半是拿了错误平台的 jar,回到环境预检一节核对前缀。熟悉仓库后的深入入口核心脚本 API(Screen、Region、Match、Pattern 等类):API/src/main/java/org/sikuli/script/鼠标键盘模拟、录制器和运行器:API/src/main/java/org/sikuli/support/IDE 编辑器、截图与图案管理界面:IDE/src/main/java/org/sikuli/ide/模块说明文档:API/README.md、IDE/README.md识别测试用图:API/src/main/resources/images/下一步动作:在自己的机器上打开任意一个测试程序,截一张按钮图存到脚本旁边,运行上面的 click 示例,观察鼠标是否移动到按钮上并点击;如果抛出 FindFailed,按先检查这三项的顺序逐条排查。【免费下载链接】SikuliX1SikuliX version 2.0.0 (2019)项目地址: https://gitcode.com/gh_mirrors/si/SikuliX1创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表