最近需要一个类似于按键精灵的脚本,正好重拾一下之前学过的懒人精灵,现在的1.6.0打包apk收费了,还好我用的之前下的1.2.6版本,免费打开
之前一直不理解UI如何交互,趁着这次正好学一下
其实都有例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function onUIEvent(handle,event,arg1,arg2,arg3)
if event == "onload" then
print("窗口被加载了")
elseif event == "onclick" then
print("按钮点击事件:",arg1,arg2)
keyPress("home")
elseif event == "onchecked" then
print("多选框选中或反选事件:",arg1,arg2)
elseif event == "onselected" then
print("单选框或者下拉框事件:",arg1,arg2)
elseif event == "onclose" then
print("关闭窗口",arg1)
closeWindow(handle,arg1)
elseif event == "onwebviewjsevent" then
print("webview事件",arg1,arg2,arg3)
end
end
-- 这里改成你自己的ui文件名
local ret = showUI("test.ui",-1,1200,onUIEvent)
local ret_json = jsonLib.decode(ret)
print(ret_json)
-- 可以通过ret_json来获取界面中的输入框等的值

假如需要在界面中点登陆然后成功后再启动脚本的话,就修改上面那个onUIEnent函数
比如按钮点击了,可以通过arg1arg2确定是哪个按钮,再执行对应的函数

1
2
3
if arg2=="登录" then
登录(handle)
end

还有一个就是跳转app的某个界面,可以通过这个函数来完成

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function openalipay(url)
i ={};
-- android 配置的action 选项, 通常和uri 配合使用 这个应该不用改
i['action'] = "android.intent.action.VIEW";
-- uri 通常用作协议跳转
i['uri'] = url
-- data 额外增加的数据
i['data'] ="";
-- packageName 通常指 要跳转的包名
i['packageName'] = "com.eg.android.AlipayGphone";
-- classname 通常指 具体要跳转的activity
i['classname'] = "";
-- extra 为额外增加的 参数
i['extra'] = {};
runIntent(i)
sleep(1000)
end