获取xml_界面xml的简单提取

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

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

Import "shanhai.lua"

Dim _xml=shanhai.getuixml()

TracePrint _xml

2、xml内容简单分析

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

8bbec397eac5c824b46654c70a8176ac.png

5a008aec03089432166a250e082f3079.png

把这一段代码复制到文本以后,用搜索功能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

779321aa1b41b1d774456bd7e44436b6.png

e2971fcd169eaa035fa81807f965c11a.png

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

9ee947a9bdb7eeb816ac9df6f5b6c238.png

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

6ce953d4fb3fd80f66b2b9f75b7c4223.png

本期教程就这些。

3分钟学堂高级群开始招募会员~

从明年开始运营新的付费群了,在原有按键精灵安卓脚本问题解答的基础上,增加脚本实战,引流实战,项目分析,流量变现等内容。

目前初步定价298元/年,服务时间2020年1月1日-2020年12月31日。

我会在下月初把具体的细则以文字形式发出来。

从今天开始到11月30号做预售:

非原付费群 248元/年

原付费群  198元/年

12月1日恢复原价298元/年

关于新付费群就这些,加群联系我~

微信 xiaomu86119 

QQ 453485278

加好友时说明来意

7fd6dea65d43a60f4cd7d602c6d873d8.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值