You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Robot Framework结合Sikuli Library如何截图点击指定序号相同按钮

Sikuli Library 截图匹配与多同形按钮指定序号点击方案

基础能力说明

Sikuli Library 原生内置屏幕截图、图片匹配点击相关关键字,不需要额外开发自定义逻辑:

  • 截取当前屏幕可直接使用Capture关键字,支持指定截图保存路径,也可直接返回截图对象作为后续匹配的限定范围
  • 单目标匹配点击可直接使用Click关键字,传入预先保存的按钮参考图路径,即可自动完成全屏范围的图像匹配,点击匹配度最高的第一个结果
    注意:Sikuli 默认的图像匹配相似度阈值为0.7,若界面相似元素较多容易出现误匹配,可通过Set Min Similarity关键字将阈值调整至0.85~0.95区间,提升匹配精度。

多同形按钮指定序号点击实现

针对界面存在多个外观完全一致按钮、需要点击指定序号按钮的场景,不要直接调用Click关键字,可通过「全量匹配+按索引取目标」的方式实现,具体逻辑如下:

  • 先调高图像匹配相似度阈值,避免非目标按钮被误识别进匹配结果
  • 调用Find All关键字传入按钮参考图,该关键字会返回屏幕上所有符合匹配要求的区域对象列表,默认排序规则为从上到下、从左到右,和人眼常规浏览顺序一致
  • Robot Framework 列表索引从0开始计数,若需要点击第4个按钮,取列表索引为3的对象传入点击关键字即可
  • 点击前增加匹配数量校验,避免因识别异常导致点错位置

可直接复用的示例代码:

*** Settings ***
Library    SikuliLibrary

*** Test Cases ***
点击指定序号的同形按钮
    # 设置匹配相似度
    Set Min Similarity    0.9
    # 全量匹配所有符合参考图特征的按钮
    ${matched_buttons}=    Find All    reference/button_template.png
    # 校验匹配数量符合预期
    Should Be True    len($matched_buttons) >= 4    msg=识别到的按钮数量不足4个,请检查参考图或相似度配置
    # 点击第4个匹配结果(索引从0开始,第4个对应索引3)
    Click    ${matched_buttons}[3]

补充适配说明:如果界面按钮为横向从右到左排列、网格类不规则布局,默认排序和你需要的序号规则不一致时,可以提取所有匹配区域的X、Y轴坐标,按业务需要的顺序重新排序列表后,再取对应索引的元素点击即可。
如果需要先截取当前屏幕、仅在截图范围内做匹配而非全屏检索,可以先用Capture获取截图对象,将该对象作为匹配区域参数传入Find All即可,后续取目标点击的逻辑完全一致。

内容的提问来源于stack exchange,提问作者evojd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 20:33:39