函数:widget.find 根据属性组合查找控件

函数功能: 根据属性组合查找控件

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数方法

wid,tab = widget.find(tb)

参数 类型 必填 说明
tb.id string 控件 ID,可以使用 IDE 的控件节点进行获取
tb.text string 文本,可以使用 IDE 的控件节点进行获取
tb.type string 类型,可以使用 IDE 的控件节点进行获取
tb.desc string 描述,可以使用 IDE 的控件节点进行获取
tb.path string 路径,可以使用 IDE 的控件节点进行获取
tb.rule number 默认为 0 - 完全匹配,1 - 部分匹配,2 - 开头匹配,
3 - 结尾匹配,仅支持 text、type、desc 参数
tb.long-clickable string 是否可以长按,false - 不可以长按,ture - 可以长按,
仅支持 v1.0.1 及其以上版本
tb.clickable string 是否可以点击,fasle - 不可点击,true - 可以点击,
引擎版本仅支持 Android v3.2.1 及其以上版本
tb.scrollable string 是否可以滚动,false - 不可以滚动,true - 可以滚动,
引擎版本仅支持 Android v3.2.1 及其以上版本
tb.editable string 是否可以编辑,false - 不可以编辑,ture - 可以编辑,
引擎版本仅支持 Android v3.2.1 及其以上版本
tb.checkable string 是否可以选中,false - 不可以选中,true - 可以选中,
引擎版本仅支持 Android v3.2.1 及其以上版本
tb.which number 不写默认为 1,指定第几个控件,
引擎版本仅支持 Android v3.2.2 及其以上版本
返回值 类型 说明
wid userdata/nil 查找成功则返回控件对象,失败返回空
tab table 返回 id、text、type、desc 等包含 tb 的所有信息,
引擎版本仅支持 Android v3.2.2 及其以上版本

函数用例

--除控件函及模拟按键函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(1000)
wid,tab =widget.find({["text"]="浏览器",["which"]=1})
if wid then
    mSleep(1000)
    toast("控件已找到")
    mSleep(1000)
    --点击控件
    widget.click(wid)
    for k,v in pairs(tab) do
        toast(k .. ":" .. (type(v) == "boolean" and (v and "true" or "false") or v),5)
        mSleep(2000)
    end
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)
end

注意事项

  • 使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

函数:widget.desc 根据描述属性查找控件

函数功能: 根据描述属性查找控件

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数方法 1

wid= widget.desc(desc,rule);

参数 类型 必填 说明
desc string 要查找的描述信息,可以使用 IDE 的控制节点进行获取
rule number 不写默认为 0 - 完全匹配 ,1 - 部分匹配,2 - 完全匹配,
3 - 开头匹配,4 - 结尾匹配

函数方法 2

wid= widget.desc(desc,{rule,which});

参数 类型 必填 说明
desc string 要查找的描述信息,可以使用 IDE 的控制节点进行获取
rule number 不写默认为 0 - 完全匹配 ,1 - 部分匹配,2 - 完全匹配,
3 - 开头匹配,4 - 结尾匹配
which number 不写默认为 1,指定第几个控件,
引擎版本仅支持 Android v3.2.2 及其以上版本
返回值 类型 说明
wid userdata/nil 查找成功则返回控件对象,失败返回空

函数用例

--除控件函数及模拟按键函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(1000)
desc = "触动精灵"
rule = 0
wid = widget.desc(desc,rule)
--wid = widget.desc(desc,{["rule"]="登录",["which"]=1})
if wid ~= nil then
    mSleep(1000)
    toast("控件已找到")
    mSleep(1000)
    --点击控件
    widget.click(wid)
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)
end

注意事项

  • 使使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

函数:widget.id 根据属性查找控件

函数功能: 根据属性查找控件

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数方法

wid = widget.id(id)

参数 类型 必填 说明
id string 要查找的控件 ID,可以使用 IDE 的控制节点进行获取

函数方法

wid = widget.id(id,{which})

参数 类型 必填 说明
id string 要查找的控件 ID,可以使用 IDE 的控制节点进行获取
which number 不写默认为 1,指定第几个控件,
引擎版本仅支持 Android v3.2.2 及其以上版本
返回值 类型 说明
wid userdata/nil 查找成功则返回控件对象,失败返回空

函数用例

--除控件函数及模拟按键函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(1000)
id = "com.play4u.luabox:id/iv_script_new"
wid = widget.id(id)
--wid = widget.id(id,{["which"]=1})
if wid ~= nil then
    mSleep(1000)
    toast("控件已找到")
    mSleep(1000)
    --点击控件
    widget.click(wid)
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)
end

注意事项

  • 使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

函数:widget.text 根据文本属性查找控件

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数方法 1

wid = widget.text(text,rule)

参数 类型 必填 说明
text string 文本属性,可以使用 IDE 的控件节点进行获取
rule number 不写默认为 0 - 完全匹配 ,1 - 部分匹配,2 - 开头匹配,3 - 结尾匹配

函数方法 2

wid = widget.text(text,{rule,which})

参数 类型 必填 说明
text string 文本属性,可以使用 IDE 的控件节点进行获取
rule number 不写默认为 0 - 完全匹配 ,1 - 部分匹配,2 - 开头匹配,3 - 结尾匹配
which number 不写默认为 1,指定第几个控件,
引擎版本仅支持 Android v3.2.2 及其以上版本
返回值 类型 说明
wid userdata/nil 查找成功则返回控件对象,失败返回空

函数用例

--除控件函数及模拟按键函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(1000)
text="脚本"
wid = widget.text(text)
--wid = widget.text(text,{["rule"]=0,["which"]=1})
if wid ~= nil then
    mSleep(1000)
    toast("控件已找到")
    mSleep(1000)
    --点击控件
    widget.click(wid)
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)
end

注意事项

  • 使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

函数:widget.region 获取控件的区域属性

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数功能: 获取控件区域坐标范围

函数方法

x1,y1,x2,y2 = widget.region(wid)

参数 类型 必填 说明
wid userdata 控件对象
返回值 类型 说明
x1 string 区域左上角横坐标,找不到返回 nil
y1 string 区域左上角纵坐标,找不到返回 nil
x2 string 区域右下角横坐标,找不到返回 nil
y2 string 区域有下级角纵坐标,找不到返回 nil

函数用例

--在脚本页面,找左上角的脚本文字
--除控件函数及模拟按键函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(1000)
wid = widget.find({["id"]="com.play4u.luabox:id/iv_script_new"})
if wid ~= nil then
    x1,y1,x2,y2 = widget.region(wid)
    if x1 ~= nil then
        event.tap((x1+x2)/2,(y1+y2)/2);
    else
        mSleep(1000)
        toast("区域获取为空",5)
        mSleep(5000)
    end
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)
end

注意事项

  • 使使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

函数:widget.longclickable 判断控件是否可以长按

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数功能: 判断控件获取是否可以长按

函数方法

flag = widget.longclickable(wid)

参数 类型 必填 说明
wid userdata 控件对象
返回值 类型 说明
flag boolean true - 可以长按,false -不可以长按

函数用例

--在脚本页面,右上角的创建脚本按钮
--除控件函数及模拟按键函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(1000)
wid = widget.find({["id"]="com.play4u.luabox:id/iv_script_new"})
if wid ~= nil then
    flag = widget.longclickable(wid)
    if flag then
        mSleep(1000)
        toast("此控件可以长按",5)
        mSleep(5000)  
    else
        mSleep(1000)
        toast("此控件不支持长按",5)
        mSleep(5000)  
    end
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)  
end

注意事项

  • 使使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

函数:widget.checkable 判断控件是否可勾选

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数功能: 判断控件是否可以勾选

函数方法

flag = widget.checkable(wid)

参数 类型 必填 说明
wid userdata 控件对象
返回值 类型 说明
flag boolean true - 可以勾选,false - 不可以勾选

函数用例

--除控件函数及模拟按键函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(1000)
wid = widget.find({["id"]="com.play4u.luabox:id/cb_select"})
if wid ~= nil then
    flag = widget.checkable(wid)
    if flag then
        mSleep(1000)
        toast("此控件可以勾选",5)
        mSleep(5000)  
    else
        mSleep(1000)
        toast("此控件不支持勾选",5)
        mSleep(5000)  
    end
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)  
end

注意事项

  • 使使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

函数:widget.scrollable 判断控件是否可滚动

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数功能: 判断控件是否可以滚动

函数方法

flag = widget.scrollable(wid)

参数 类型 必填 说明
wid userdata 控件对象
返回值 类型 说明
flag boolean true - 可以滚动,false - 不可以滚动

函数用例

--除控件函数及模拟按键函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(1000)
wid = widget.find({["id"]="com.play4u.luabox:id/item_rl_top"})
if wid ~= nil then
    flag = widget.scrollable(wid)
    if flag then
        mSleep(1000)
        toast("此控件可以滚动",5)
        mSleep(5000)  
    else
        mSleep(1000)
        toast("此控件不可以滚动",5)
        mSleep(5000)  
    end
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)  
end

注意事项

  • 使使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

函数:widget.editable 获取控件是否可以输入

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数功能: 判断控件是否可以输入

函数方法

flag = widget.editable(wid)

参数 类型 必填 说明
wid usedata 控件对象
返回值 类型 说明
flag boolean true - 可以输入文字,false - 不支持输入文字

函数用例

--除控件函数及模拟按键函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(1000)
wid = widget.find({["id"]="com.play4u.luabox:id/iv_script_new"})
if wid ~= nil then
    widget.click(wid)
    mSleep(3000)
    wid1 = widget.find({["id"]="com.play4u.luabox:id/et_content"})
    --判断新建脚本页面是否打开
    if wid1 ~= nil then
        --判断是否支持输入文字
        flag = widget.editable(wid1)
        if flag then
            mSleep(1000)
            toast("此控件支持输入",5)
            mSleep(5000)
            --输入文字
            widget.setText(wid,"输入")
        else
            mSleep(1000)
            toast("此控件不支持输入",5)
            mSleep(5000)
        end
    else
        mSleep(1000)
        toast("控件未找到",5)
        mSleep(5000)
    end
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)
end

注意事项

  • 使使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

函数:widget.visibleToUser 控件是否可见

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数功能: 判断控件是否可见

函数方法

flag = widget.visibleToUser(wid)

参数 类型 必填 说明
wid usedata 控件对象
返回值 类型 说明
flag boolean true - 可见控件,false - 不可见控件

函数用例

--除控件函数及模拟按键函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(1000)
wid = widget.find({["id"]="com.play4u.luabox:id/iv_script_new"})
if wid ~= nil then
    flag = widget.visibleToUser(wid)
    if flag then
        mSleep(1000)
        toast("可见控件",5)
        mSleep(5000)    
    else
        mSleep(1000)
        toast("不可见控件",5)
        mSleep(5000)    
    end
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)    
end

注意事项

  • 使使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

函数:widget.enabled 判断控件是否可以激活

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数功能: 判断控件是否可以激活

函数方法

flag = widget.enabled(wid)

参数 类型 必填 说明
wid usedata 控件对象
返回值 类型 说明
flag boolean true - 可以激活,false - 不可以激活

函数用例

--除控件函数及模拟按键函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(1000)
wid = widget.find({["id"]="com.play4u.luabox:id/iv_script_new"})
if wid ~= nil then
    flag = widget.enabled(wid)
    if flag then
        mSleep(1000)
        toast("此控件可以激活",5)
        mSleep(5000)    
    else
        mSleep(1000)
        toast("此控件不可以激活",5)
        mSleep(5000)    
    end
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)    
end

注意事项

  • 使使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

函数:widget.clickable 判断控件是否可点击

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数功能: 判断控件是否可以点击

函数方法

flag = widget.clickable(wid)

参数 类型 必填 说明
wid userdata 控件对象
返回值 类型 说明
flag boolean true - 可以点击,false - 无法点击

函数用例

--除控件函数及模拟按键函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(5000)
wid = widget.find({["id"]="com.play4u.luabox:id/iv_script_new"})
if wid ~= nil then
    flag  = widget.clickable(wid)
    if flag  then
        mSleep(1000)
        toast("此控件可以点击",5)
        mSleep(5000)
        --点击控件
        widget.click(wid)
    else
        mSleep(1000)
        toast("此控件不支持点击",5)
        mSleep(5000)
    end
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)
end

注意事项

  • 使使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

函数:widget.selected 获取控件选中状态

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数功能: 判断控件是否可以选中

函数方法

flag = widget.selected(wid)

参数 类型 必填 说明
wid userdata 控件对象
返回值 类型 说明
flag boolean true - 可以选中,false - 不可以选中

函数用例

--除控件函数及模拟按键函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(1000)
wid = widget.find({["id"]="com.play4u:id/item_rl_top"})
if wid ~= nil then
    flag = widget.selected(wid)
    if flag then
        mSleep(1000)
        toast("此控件可以选中",5)
        mSleep(5000)    
    else
        mSleep(1000)
        toast("此控件不可以选中",5)
        mSleep(5000)    
    end
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)    
end

注意事项

  • 使使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

函数:widget.checked 判断控件勾选状态

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数功能: 判断控件是否勾选

函数方法

flag = widget.checked(wid)

参数 类型 必填 说明
wid userdata 控件对象
返回值 类型 说明
flag boolean true - 已勾选,false - 未勾选

函数用例

--除控件函数及模拟按键函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(1000)
wid = widget.find({["id"]="com.play4u.luabox:id/cb_select"})
if wid ~= nil then
    flag = widget.checked(wid)
    if flag then
        mSleep(1000)
        toast("此控件已勾选",5)
        mSleep(5000)  
    else
        mSleep(1000)
        toast("此控件未勾选",5)
        mSleep(5000)  
    end
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)  
end

注意事项

  • 使使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

Copyright 北京帮你玩科技有限公司 2023 all right reserved,powered by Gitbook该文章修订时间: 2024-03-06 17:50:18

results matching ""

    No results matching ""