引入jsdvip.luae,并写出函数逻辑
Import "jsdvip.luae"
/**
试图找到节点并点击
param node 节点名
param is_click 是否点击
param click_center 是否根据节点信息点击中心位置
param long_touch 是否长时间触摸
param touch_time 触摸时间
**/
Function findNodeAndClick(node, is_click, click_center, long_touch, touch_time)
Dim bool
bool = IsNull(node)
If bool Then
node=""
End If
bool = IsNull(is_click)
If bool Then
is_click = True
End If
TracePrint IsNull(is_click)
bool = IsNull(click_center)
If bool Then
click_center = True
End If
bool = IsNull(long_touch)
If bool Then
long_touch = False
End If
bool = IsNull(touch_time)
If bool Then
touch_time = 3000
End If
Dim node_info
Delay 2000
// 判断节点是否存在
If JsDroid.Exists(node) Then
// 判断是否需要点击
If is_click Then
// 判断是否根据节点信息按节点中心位置
If click_center Then
// 获取节点信息
node_info = JsDroid.GetNodeInfo(node)
// 判断节点是否存在
If node_info Then
// 判断是否长时间触摸
If long_touch Then
// 长时间点击中心位置
Touch node_info[2][1],node_info[2][2],touch_time
Else
// 点击中心位置
Tap node_info[2][1],node_info[2][2]
End If
End If
Else
// 不根据节点信息点击中心位置
If JsDroid.Click(node) Then
End If
End If
TracePrint node&"存在并已点击"
ShowMessage node & "存在并已点击"
Else
TracePrint node&"存在"
ShowMessage node & "存在"
End If
Delay 5000
findNodeAndClick = True
Else
TracePrint node&"不存在"
ShowMessage node&"不存在"
Delay 2000
findNodeAndClick = False
End If
End Function
调用方式
jsdvip.call_function findNodeAndClick,"By.text('发现')"
注解:使用jsdvip.call_function 函数名,参数1,参数2,......的方式调用