總有問全分辨率(無視分辨率)的腳本怎么寫,通常我們就是獲取界面的xml,然后在提取里面想要的內容。
1、獲取界面xml(注:不是所有的界面都可以獲取的xml)
Import “shanhai.lua”
Dim _xml=shanhai.getuixml()
TracePrint _xml
2、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


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

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

本期教程就這些。
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。