安卓脚本/ios开发软件按键精灵实战:自动定位弹窗广告关闭按钮坐标的通用方案

在编写小程序游戏自动化脚本时,弹窗广告是绕不开的障碍。这些广告弹窗样式差异很大------有大有小,关闭按钮有黑色半透明的也有白色半透明的,但共同点是都会遮挡操作区域,导致脚本无法正常执行后续步骤。

人工操作时,点击右上角的关闭按钮(X)即可,但脚本需要自动完成这一动作,首先得解决一个问题:如何让脚本自动找到关闭按钮的坐标位置?

技术思路

1、寻找弹窗按钮的共性

虽然广告弹窗样式各异,但关闭按钮存在两个可以量化的共性:

  • 形状共性:关闭按钮都是圆形,意味着其所在区域的宽度和高度相等;

  • 尺寸共性:不同弹窗的关闭按钮大小接近,宽度和高度都在一个大致范围内。

2、利用节点属性进行筛选

使用节点查看工具分析广告弹窗的UI结构,会发现这些关闭按钮节点通常没有id、text、desc等属性值,直接通过属性定位比较困难。

但关闭按钮的class属性是ImageView,即图片类型。这样就有了明确的筛选路径:

  1. 先查找页面中所有android.widget.ImageView类型的节点;

  2. 再根据宽高相等、尺寸范围两个条件进行过滤,锁定关闭按钮。

脚本示例:

复制代码
Import "zm.luae"
zm.Init 
dim nodes = zm.ElementFindEx("android.widget.ImageView")
If nodes Then 
  TracePrint "一共找到了", nodes["counts"], "个元素"
  For i = 1 To nodes["counts"]
    TracePrint "节点的宽度和高度",nodes[i]["bounds"][3]-nodes[i]["bounds"][1],nodes[i]["bounds"][4]-nodes[i]["bounds"][2]
    If nodes[i]["bounds"][3] - nodes[i]["bounds"][1] = nodes[i]["bounds"][4] - nodes[i]["bounds"][2] and 60<nodes[i]["bounds"][3]-nodes[i]["bounds"][1]<70 Then 
      TracePrint "第"&i&"个节点宽度和高度相同"
    End If
  Next
Else 
  TracePrint "没有找到元素"
End If

代码逻辑说明

步骤 操作 说明
1 zm.ElementFindEx 查找所有ImageView节点
2 遍历节点列表 逐个计算宽高
3 条件判断 宽=高,且尺寸在60-120px范围内
4 zm.Click 点击匹配节点的中心位置

⚠️ 注意 :尺寸范围60-120需要根据实际设备分辨率做调整,建议先用TracePrint输出所有候选节点的宽高,观察后再设定阈值。

关键要点

节点数量控制 :如果页面中ImageView节点过多,可以进一步缩小尺寸范围,或结合bounds坐标位置(如右上角区域)进行二次筛选。

兼容性处理:部分弹窗可能使用自定义View而非标准ImageView,此时需要扩展搜索的class类型。建议先通过节点查看工具确认目标按钮的实际类型。

循环退出 :找到第一个匹配节点后立即Exit For,避免重复点击。

这个方案的核心思路是放弃依赖id/text等唯一标识,转而利用按钮的几何共性(宽高相等 + 尺寸范围)进行筛选。对于自动化脚本中大量"找不到唯一标识"的场景,这种基于属性组合的筛选策略具有很好的可迁移性。

如果页面中关闭按钮的尺寸范围不好确定,可以先用TracePrint输出所有ImageView节点的宽高数据,观察分布后再设定过滤区间。

作为一款集"视觉AI+自动化+RPA"于一体的移动端超级助手,按键精灵正在重新定义自动化开发。它打通了从零基础到专业开发的全链路:小白可通过可视化编辑器与内置免费OCR引擎,结合无障碍服务快速实现APP签到、识图找字等自动化流程;极客与开发者则能利用Lua脚本、ADB调试及跨平台测试进行深度定制,并借助脚本加密与APK独立打包功能保障代码安全。其核心竞争力在于强大的AI视觉内核------融合OCRex、YOLOv5目标检测与OpenCV图像处理,在复杂动态场景下实现毫秒级精准识图找字。无论是电商运营、批量营销、移动端RPA数据采集,还是高难度的手游多开挂机与自动化测试,按键精灵都能提供企业级的稳定支持。

相关推荐
dk_tjy9 小时前
AI驱动的自动化攻击背景下:企业端点安全体系的技术架构与建设路径
网络·人工智能·安全·自动化·终端安全管理·数据防泄漏
芝麻别开门12 小时前
gst-shark安卓编译使用方法
android·gstreamer·gst-shark
郝学胜-神的一滴14 小时前
AI 编程智能体 09:零门槛调用教程
人工智能·数据分析·自动化·numpy·pandas·量化投资
戴西软件15 小时前
制造研发中的AI视觉与仿真:戴西工程图纸智能审图智能体、戴西3DViz_CAE AI集成与戴西3DViz_CAD AI集成
大数据·运维·人工智能·3d·自动化·制造·rpa
老李IT笔记15 小时前
关掉设备上的 AI 扩展:两个键各管一层,配错了等于没配
人工智能·ios·智能手机
2501_9159214315 小时前
iOS应用耗电测试:使用Energy Log、Keymob和Instruments进行性能监控与能源消耗分析
android·ios·小程序·https·uni-app·iphone·webview
工业传感笔记16 小时前
烘道高温检测失效频发:耐高温接近开关的选型逻辑与国产化落地
其他·自动化
蒲公英内测分发16 小时前
热成像仪交付客户后,Android 配套 App 不上架,怎么持续下载安装和更新
android·机器人·项目管理·智能家居·智能硬件
脚踏实地,坚持不懈!16 小时前
Android 常见性能问题总结
android
河北稳控科技17 小时前
钢筋应力计 应力与温度同步监测
自动化·工程监测·测量仪器·岩土工程