按键精灵老版本安装教程(免root屏幕自动点击器制作方法)


总有问全分辨率(无视分辨率)的脚本怎么写,通常我们就是获取界面的xml,然后在提取里面想要的内容。

1、获取界面xml(注:不是所有的界面都可以获取的xml)

Import “shanhai.lua”

Dim _xml=shanhai.getuixml()

TracePrint _xml

2、xml内容简单分析

右键复制xml,然后粘贴到文本里面

「按键精灵安卓版」界面xml的简单提取实现脚本全分辨率
「按键精灵安卓版」界面xml的简单提取实现脚本全分辨率

把这一段代码复制到文本以后,用搜索功能ctrl+f,查找要找的东西。

3、提取xml的文字

Import “shanhai.lua”

Dim _xml=shanhai.getuixml()

TracePrint _xml

dim content=shanhai.RegexFind(_xml,”text=””([^””]+)”)

For Each k In content

TracePrint k

Next

「按键精灵安卓版」界面xml的简单提取实现脚本全分辨率
「按键精灵安卓版」界面xml的简单提取实现脚本全分辨率

4、根据文字点击(比较常用)

Import “shanhai.lua”

Dim _xml=shanhai.getuixml()

TracePrint _xml

Call click(“设置”)

Function click(n)

Dim xy=shanhai.regexfind(shanhai.findxmlkey(_xml,”text”,n,”bounds”),”%d+”)

If Len(xy(0)) = 0 Then

xy=shanhai.regexfind(shanhai.findxmlkey(_xml,”content-desc”,n,”bounds”),”%d+”)

End If

TracePrint xy(0),xy(1)

// Tap xy(0),xy(1)

End Function

「按键精灵安卓版」界面xml的简单提取实现脚本全分辨率

5、点击包含指定文字的节点

比如 一段文字是“100人在看”,我们希望点击只要文字中含有“人在看”这几个字的节点。

Import “shanhai.lua”

Dim _xml=shanhai.getuixml()

TracePrint _xml

dim content=shanhai.RegexFind(_xml,”text=””([^””]+)”)

For Each k In content

If InStr(1, k, “系统”)>0 Then

click(k)

End If

Next

Function click(n)

Dim xy=shanhai.regexfind(shanhai.findxmlkey(_xml,”text”,n,”bounds”),”%d+”)

If Len(xy(0)) = 0 Then

xy=shanhai.regexfind(shanhai.findxmlkey(_xml,”content-desc”,n,”bounds”),”%d+”)

End If

TracePrint xy(0),xy(1)

// Tap xy(0),xy(1)

End Function

「按键精灵安卓版」界面xml的简单提取实现脚本全分辨率

本期教程就这些。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论