免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的簡單提取實現腳本全分辨率

本期教程就這些。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/277265.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-19 13:25
下一篇 2024-12-19 13:25

相關推薦

發表回復

登錄後才能評論