找回密码
 注册成为果猿

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
  • 姬器插件

【果壳插件】

果壳王子 2020-7-16 22:50:54 显示全部楼层 阅读模式
GK.Find/RPA 件V3.5

果壳万能插件

果壳万能插件


果壳插件开发宗旨:本插件旨在将按键官方所有图色文字命令集成为一个统一的插件命令(GK.Find),易学易懂,傻瓜式调用,实现图色参数可变可选(官方图色命令参数是固定的)和查找到图色对象后自带点击的功能,以及体现各种找图、找色、找字技巧的插件扩展命令(扩展命令函数原型说明请见文章后半部分)。本插件可根据您输入的不同的图色参数数据来自动匹配应该调用哪一种图色功能(此实现有点像C++的函数重载)。插件图色功能部分主要包含两个实现方法,一个是常用的Find方法,另一个是它的增强版Find2方法,后者可实现返回一个数组变量,该变量返回了查找对象坐标信息,可通过访问数组下标的方式对其进行索引(详情请见代码示例)。 重头戏是果壳万能插件RPA功能:实现对界面元素的遍历查找、取值与“精神控制”(开玩乐,其实只是对其元素的肉体控制),总之很黄很暴,完美体现果壳式暴力美学。果壳插件RPA函数原型说明与代码示例请见文末!

果壳万能插件

果壳万能插件



1果壳插件更新说明

果壳插件V3.18 更新内容:
1.新增文字识别命令
2.新增横竖屏图色识别
3.新增随机点击图色对象

果壳插件V3.19 更新内容:
1.新增对果壳点击命令实现偏移点击的可选参数
2.新增横竖屏转换对果壳点击命令的兼容
3.优先插件说明文件

果壳插件V3.22 更新内容:
1.修复FindUBEX、
FindUBTM和FindUBTMEX命令的BUG
2.修复
FindWordUBEX、FindWordUBTM和FindWordUBTMEX命令的BUG
3.修复
FindUBEX2、FindUBTM2和FindUBTMEX2命令的BUG
4.修复
FindWordUBEX2、FindWordUBTM2和FindWordUBTMEX2命令的BUG
5.修复FindEX2命令的返回值BUG
6.新增实现FindEX2、FindTM2命令和FindTMEX2命令,找图返回第4个参数,表示第几张图片的ID(从0开始索引)

果壳插件V3.30 更新内容:
1.新增计算日期时间。函数原型:gk.time(H,M,S)
2.新增获取指定元素对象的宽高。函数原型:GK.RPA_compute(table)
3.新增果壳式post上传文件。函数原型:GK.PostFile(url,filePath,strlist)
4.若干RPA指令优化。

果壳插件V3.5 更新内容:
1.新增并优化完善RPA命令,提升RPA功能的穿透性和暴力性!


新果壳插件(万能图色文字+RPA办公自动化)
1.新增 GK.RPA [果壳式RPA暴力综合命令]
2.新增 GK.RPA_Lookup [果壳式RPA元素匹配]
3.新增 GK.RPA_Track [果壳式RPA元素追踪]
4.新增 GK.RPA_Check [果壳式过滤检查数据]
5.新增 GK.RPA_Find 遍历查找指定元素属性
6.新增 GK.RPA_GetAll 获取当前界面所有元素属性
7.新增 GK.RPA_GetFull 获取当前界面层级元素属性
8.新增 GK.RPA_GetText 获取当前界面所有元素标题
9.新增 GK.RPA_Click 点击元素对象中心

2果壳插件下载与调用

插件调用方法:
1.下载插件后请将GK.luaeGK.info这两个文件丢进按键精灵手机助手目录下的Plugin文件夹.
2.调用插件时必须先在脚本开头用Import命令导入插件:Import "GK.luae"
3.请使用按键手机助手3.55版本以上,以获得对RPA命令的支持。

果壳插件vip内部版下载:
【果壳万能插件 -  最新版本号:V3.5果壳热版  - 更新日期:2021/02/08】
[果壳插件v3.5] 万能图色文字+RPA自动化办公 免费下载,永久使用!
果壳插件v3.5(vip内部版).zip (102.2 KB, 下载次数: 118)
3图色文字命令目录图

【果壳插件】

【果壳插件】


4图色命令:比色

多点比色  集成官方CmpColorEx命令 - 插件函数原型:GK.Find(Color[, Sim][, Click]) 
函数作用:多个坐标点比对对应颜色序列

    
参数描述
Color
必选。字符串型,颜色字符序列
Sim可选。浮点型,颜色查找相似度,取值范围0.1-0.999,不填此参数默认为0.9
注意:由于相似度设置为1是无效的(Sim参数不支持整数),因此如想获得类似1的效果,请将相似度设置为0.999
Click可选。布尔值,指明图色判断成立后是否需要执行点击操作,true表示执行点击,false表示不点击,不填此参数默认为true
插件命令判断成立/不成立返回值说明返回值(布尔型)
判断成立:对比颜色序列全匹配true
判断不成立:对比颜色序列并非完全匹配false

插件调用实例

Import "GK.luae"

If GK.Find("378|583|0FBA06,373|611|292EDF,343|609|DA9D08",true)  then

     TracePrint "找到对象并点击" 

End If



If GK.Find("378|583|0FBA06,373|611|292EDF,343|609|DA9D08")  then

     TracePrint "找到对象无点击" 

End If



Dim A={"378|583|0FBA06,373|611|292EDF,343|609|DA9D08"}

TracePrint GK.Find(A)

5图色命令:比色2

多点比色2集成官方CmpColorEx命令 - 插件函数原型(增强版):GK.Find2(Color[, Sim][, Click])
函数作用:多个坐标点比对对应颜色序列
注:参数描述同上(多点比
  
插件命令判断成立/不成立返回值说明

返回值(数组型)

判断成立说明1:成功匹配指定颜色对象
true。由数组成员array(0)接收该返回值
判断成立说明2:成功匹配指定颜色对象  颜色对象X坐标值。由数组成员array(1)接收该返回值
判断成立说明3:成功匹配指定颜色对象
颜色对象Y坐标值。由数组成员array(2)接收该返回值
判断不成立说明1:未匹配到指定颜色对象
false。由数组成员array(0)接收该返回值
判断不成立说明2:未匹配到指定颜色对象
-1。由数组成员array(1)接收该返回值
判断不成立说明3:未匹配到指定颜色对象
-1。由数组成员array(2)接收该返回值

插件
调用实例

Import "GK.luae"



dim a=GK.Find2("378|583|0FBA06,373|611|292EDF,343|609|DA9D08") 

TracePrint a(0),a(1),a(2)



Dim B={"378|583|0FBA06,373|611|292EDF,343|609|DA9D08"}

Dim arr=GK.Find2(B) 

TracePrint arr(0),arr(1),arr(2)  



Dim arr_=GK.Find2({"378|583|0FBA06,373|611|292EDF,343|609|DA9D08"}) 

TracePrint arr_(0),arr_(1),arr_(2)


6图色命令:找色

多点找色  集成官方FindMultiColor命令 - 插件函数原型:GK.Find([X1, Y1, X2, Y2, ]Color, offset[, Dir][, Sim][, Click]) 
函数作用:在一定范围内查找匹配指定颜色序列
  
参数
  描述
X1
Y1
X2
Y2
可选整数型,分别用4个整型参数(X1,Y1,X2,Y2)表示查找颜色对象的坐标范围如果参数X1、Y1、X2、Y2皆未填写则表示采用全屏查找
Color
必选字符串型,欲搜索对象的颜色字符序列
offset
必选字符串型,与要搜索的颜色对象进行坐标偏移比对的颜色字符序列。
Dir  可选整数型,查找方向,如不填写则默认查找方向为0(具体参数值请见按键官方命令说明)。注:Dir参数位置顺序可与Sim参数位置顺序相互置换
Sim
可选。浮点型,颜色查找相似度,取值范围0.1-0.999,不填此参数默认为0.9。注:Sim的参数位置顺序可与Dir的参数位置顺序相互置换
注意:由于相似度设置为1是无效的(Sim参数不支持整数),因此如想获得类似1的效果,请将相似度设置为0.999
Click
可选。布尔值,指明图色判断成立后是否需要执行点击操作,true表示执行点击,false表示不点击,不填此参数默认为false
插件命令判断成立/不成立返回值说明
返回值(布尔型)
判断成立:成功匹配指定颜色对象true
判断不成立:未匹配到指定颜色对象false

插件
调用实例

Import "GK.luae"



If GK.Find(311,489,409,580,"0FBA06","-5|28|292EDF,-35|26|DA9D08")  then

     TracePrint "click"

End If



Dim A={"0FBA06","-5|28|292EDF,-35|26|DA9D08",0.8}

TracePrint GK.Find(A)   



TracePrint GK.Find({"0FBA06","-5|28|292EDF,-35|26|DA9D08",0.8})


7图色命令:找色2

多点找色2集成官方FindMultiColor命令 - 插件函数原型(增强版):GK.Find2([X1, Y1, X2, Y2, ]Color, offset[, Dir][, Sim][, Click])
函数作用:在一定范围内查找匹配指定颜色序列
注:参数描述同上(找色
  
插件命令判断成立/不成立返回值说明
  
返回值(数组型)
  
判断成立说明1:成功匹配指定颜色对象
true。由数组成员array(0)接收该返回值
判断成立说明2:成功匹配指定颜色对象  颜色对象X坐标值。由数组成员array(1)接收该返回值
判断成立说明3:成功匹配指定颜色对象
颜色对象Y坐标值。由数组成员array(2)接收该返回值
判断不成立说明1:未匹配到指定颜色对象
false。由数组成员array(0)接收该返回值
判断不成立说明2:未匹配到指定颜色对象
-1。由数组成员array(1)接收该返回值
判断不成立说明3:未匹配到指定颜色对象
-1。由数组成员array(2)接收该返回值

插件
调用实例

Import "GK.luae"



dim a=GK.Find2(311,489,409,580,"0FBA06","-5|28|292EDF,-35|26|DA9D08") 

TracePrint a(0),a(1),a(2)



Dim B={"0FBA06","-5|28|292EDF,-35|26|DA9D08",false}

Dim arr=GK.Find2(B) 

TracePrint arr(0),arr(1),arr(2)  



Dim arr_=GK.Find2({"0FBA06","-5|28|292EDF,-35|26|DA9D08",false}) 

TracePrint arr_(0),arr_(1),arr_(2)


8图色命令:找图

找图  集成官方FindPic命令 - 插件函数原型:GK.Find[X1, Y1, X2, Y2, ]Picture[, Delta][, Dir][, Sim][, Click])
函数作用:在一定范围内查找指定图片
   
参数
描述
X1
Y1
X2
Y2
可选整数型,分别用4个整型参数(X1,Y1,X2,Y2)表示查找图片对象的坐标范围如果参数X1、Y1、X2、Y2皆未填写则表示采用全屏查找
Picture
必选字符串型,图片名字(填写格式见下例)。支持查找多张图片(详情见官方命令说明)
Delta
可选。字符串型,找图偏色值,如不填写该参数则默认为"000000"
Dir
可选整数型,查找方向,如不填写则默认查找方向为0(具体参数值请见按键官方命令说明)。注Dir的参数位置顺序可与Sim参数位置顺序相互置换
Sim
可选。浮点型,找图相似度,取值范围0.1-0.999,不填此参数默认为0.9。注:Sim的参数位置顺序可与Dir参数位置顺序相互置换
注意:由于相似度设置为1是无效的(Sim参数不支持整数),因此如想获得类似1的效果,请将相似度设置为0.999
Click
可选。布尔值,指明图色判断成立后是否需要执行点击操作true表示执行点击,false表示不点击,不填此参数则默认为false
插件命令判断成立/不成立返回值说明
返回值(布尔型)
判断成立:成功查找到对应图片true
判断不成立:未查找到对应图片
false

插件
调用实例
Import "GK.luae"



If Gk.Find("图片.png")  then

  TracePrint "找到对象"

End If



If Gk.Find(311,489,409,580,"图片.png",true)  then

  TracePrint "找到对象并点击"

End If



Dim A={"图片1.png|图片2.png","303030",1,0.8}

TracePrint GK.Find(A)

9图色命令:找图2

找图2  集成官方FindPic命令 - 插件函数原型(增强版)GK.Find2[X1, Y1, X2, Y2, ]Picture[, Delta][, Dir][, Sim][, Click])
函数作用:在一定范围内查找指定图片
注:参数描述同上(找图
  
插件命令判断成立/不成立返回值说明
返回值(数组型)
判断成立说明1:成功查找对应图片
true。由数组成员array(0)接收该返回值
判断成立说明2成功查找到对应图片
图片X坐标值。由数组成员array(1)接收该返回值
判断成立说明3成功查找到对应图片
图片Y坐标值。由数组成员array(2)接收该返回值
判断成立说明4成功查找到对应图片图片序号(0开始索引)。由数组成员array(3)接收该返回值
判断不成立说明1:未查找到对应图片
false。由数组成员array(0)接收该返回值
判断不成立说明2查找到对应图片
-1。由数组成员array(1)接收该返回值
判断不成立说明3查找到对应图片-1。由数组成员array(2)接收该返回值
判断不成立说明4查找到对应图片-1。由数组成员array(3)接收该返回值

插件调用实例
Import "GK.luae"



Dim a=GK.Find2(311,489,409,580,"图片.png")

TracePrint a(0),a(1),a(2),a(3)



Dim B={311,489,409,580,"图片1.png|图片2.png"}

Dim arr=GK.Find2(B)

TracePrint arr(0),arr(1),arr(2),arr(3)



Dim arr_=GK.Find2({311,489,409,580,"图片1.png|图片2.png"})

TracePrint arr_(0),arr_(1),arr_(2),arr_(3)

10图色命令:找色素

找色素(区域找色)  集成官方FindColor命令 - 插件函数原型:GK.Find[X1, Y1, X2, Y2, ]Color[, Dir][, Sim][, Click])
函数作用:在一定范围内查找指定颜色值
   
参数  描述
X1
Y1
X2
Y2
可选整数型,分别用4个整型参数(X1,Y1,X2,Y2)表示查找颜色对象的坐标范围如果参数X1、Y1、X2、Y2皆未填写则表示采用全屏查找
Color
必选字符串型,欲查找的颜色字符序列(支持查找多个颜色对象,详情见官方命令说明)
Dir
可选整数型,查找方向,如不填写则默认查找方向为0(具体参数值请见按键官方命令说明)。注:Dir的参数位置顺序可与Sim参数位置顺序相互置换
Sim
可选。浮点型,颜色查找相似度,取值范围0.1-0.999,不填此参数默认为0.9。注:Sim的参数位置顺序可与Dir的参数位置顺序相互置换
注意:由于相似度设置为1是无效的(Sim参数不支持整数),因此如想获得类似1的效果,请将相似度设置为0.999
Click
可选。布尔值,指明图色判断成立后是否需要执行点击操作true表示执行点击,false表示不点击,不填此参数默认为false
插件命令判断成立/不成立返回值说明
返回值(布尔型)
判断成立:成功查找到指定颜色对象true
判断不成立:未查找到指定颜色对象false

插件
调用实例

Import "GK.luae"



If GK.Find(311,489,409,580,"0FBA06",0.999)  then

  TracePrint "click"

End If



Dim A={"0FBA06|845C1B",0.999,false}

TracePrint GK.Find(A)   



TracePrint GK.Find({"0FBA06|845C1B",0.999})


11图色命令:找色素2

找色素2(区域找色)  集成官方FindColor命令 - 插件函数原型(增强版):GK.Find2[X1, Y1, X2, Y2, ]Color[, Dir][, Sim][, Click])
函数作用:在一定范围内查找指定颜色值
注:参数描述同上(找色素
  
插件命令判断成立/不成立返回值说明  返回值(数组型)
判断成立说明1:成功查找对应的颜色对象
颜色对象的序号(0开始索引)。由数组成员array(0)接收该返回值
判断成立说明2成功查找到对应颜色对象
颜色对象X坐标值。由数组成员array(1)接收该返回值
判断成立说明3成功查找到对应颜色对象
颜色对象Y坐标值。由数组成员array(2)接收该返回值
判断不成立说明1:未查找到对应颜色对象  -1。由数组成员array(0)接收该返回值
判断不成立说明2查找到对应颜色对象
-1。由数组成员array(1)接收该返回值
判断不成立说明3查找到对应颜色对象
-1。由数组成员array(2)接收该返回值

插件
调用实例

Import "GK.luae"



Dim a=GK.Find2(311,489,409,580,"0FBA06|292EDF|DA9D08",0.999) 

TracePrint a(0),a(1),a(2)



Dim B={"0FBA06|292EDF|DA9D08",0.999,2}

Dim arr=GK.Find2(B) 

TracePrint arr(0),arr(1),arr(2)  



Dim arr_=GK.Find2({"0FBA06|292EDF|DA9D08",0.999,2}) 

TracePrint arr_(0),arr_(1),arr_(2)


12图色命令:比色素

比色素  集成官方CmpColor命令 - 插件函数原型:GK.Find(X1, Y1, Color[, Sim][, Click]
函数作用:在指定坐标处比对指定颜色值
  
  参数
  描述
X1
必选。整数型,X坐标
Y1必选。整数型,Y坐标
Color
必选。字符串型,欲查找的颜色字符序列
Sim
可选。浮点型,颜色查找相似度,取值范围0.1-0.999,不填此参数默认为0.9,
注意:由于相似度设置为1是无效的(Sim参数不支持整数),因此如想获得类似1的效果,请将相似度设置为0.999
Click
可选。布尔值,指明图色判断成立后是否需要执行点击操作,true表示执行点击,false表示不点击,不填此参数默认为false
插件命令判断成立/不成立返回值说明返回值(布尔型)
判断成立:成功找到指定颜色值true
判断不成立:未能找到指定颜色值false

插件调用实例
Import "GK.luae"



If GK.Find(378,583,"0FBA06",0.999) then

  TracePrint "true"

End If



Dim A={378,583,"0FBA06|845C1B",0.999}

TracePrint GK.Find(A)   



TracePrint GK.Find({378,583,"0FBA06|845C1B",0.999})


13图色命令:比色素2

比色素2  集成官方CmpColor命令 - 插件函数原型(增强版):GK.Find2(X1, Y1, Color[, Sim][, Click]
函数作用:在指定坐标处比对指定颜色值
注:参数描述同上(比色素
  
插件命令判断成立/不成立返回值说明返回值(整数型)
判断成立:成功找到指定颜色值颜色对象序号(从0索引)
判断不成立:未能找到指定颜色值-1

插件
调用实例

Import "GK.luae"



Dim a=GK.Find2(378,583,"0FBA06",0.999) 

TracePrint a



Dim B={378,583,"0FBA06|845C1B",0.999}

TracePrint GK.Find2(B) 



TracePrint GK.Find2({378,583,"0FBA06|845C1B",0.999})


14图色命令:取色

取色  集成官方GetPixelColor命令 - 插件函数原型:GK.Find(X1, Y1
函数作用:在指定坐标处获取颜色值
   
参数描述
X1
必选。整数型,X坐标
Y1必选。整数型,Y坐标
插件命令判断成立/不成立返回值说明返回值(字符型)
判断成立:在指定坐标处取得对应颜色值16进制颜色值

插件
调用实例

Import "GK.luae"



TracePrint  GK.Find(378,583) 



Dim A={378,583}

TracePrint GK.Find(A)   



TracePrint GK.Find({378,583})

15图色扩展命令说明
  注:以下函数原型说明如在手机查看显示不全,请从电脑端登录果壳热查看!

命令
  

函数作用


函数原型/调用例子


FindUB、FindUB2


遍历对象
即查找对象以数组方式进行遍历查找,找到其中一个数组成员则返回真返回假的条件:所有数组成员都未找到。
函数原型:
Gk.FindUB(Data[, Click])
Gk.FindUB2(Data[, Click])  
    
参数描述:
Data  数组型(必选参数)图色数据,GK.Find命令支持的所有图色数据
Click  布尔型(可选参数)是否点击找到对象后是否执行点击操作
注:不填Click参数默认值为false
     
返回值:
FindUB 返回布尔值
FindUB2  返回数组变量

数组变量(0)=布尔值(表示是否找到对象)
数组变量(1)=整数型(表示对象intX坐标)
数组变量(2)=整数型(表示对象intY坐标) 

调用实例:
Dim A()
A(0)={"221|461|FFFFFF,237|454|27BA00,210|444|2CCEEB"}
A(1)={174,418,265,513,"2F3BED","-4|-8|D2E6FE,18|-32|1B1F32"}
TracePrint  GK.FindUB(A,true)

Dm table={{"221|461|FFFFFF,237|454|27BA00,210|444|2CCEEB,197|477|D49A00"},{174,418,265,513,"2F3BED","-4|-8|D2E6FE,18|-32|1B1F32"}}
TracePrint GK.FindUB(table,true)

Dim arr=GK.FindUB2(A)
TracePrint arr(0),arr(1),arr(2)

【注意】:本扩展命令必须先通过数组或表的形式来打包Data数据。

FindTM、FindTM2


等待对象出现
即在指定时间内查找对象(等待对象出现),找到返回真返回假的条件:查找超时。

函数原型:
Gk.FindTM(Data[, time])
Gk.FindTM2(Data[, time])
    
参数描述:
Data  数组型/非数组型(必选参数)图色数据,GK.Find命令支持的所有图色数据
time  整数型(可选参数)等待出现时间(单位:秒)等待对象出现的时间上限
注:不填time参数默认值为5
   
返回值:
FindTM 返回布尔值
FindTM2  返回数组变量

数组变量(0)=布尔值(表示是否找到对象)
数组变量(1)=整数型(表示对象intX坐标)
数组变量(2)=整数型(表示对象intY坐标) 
数组变量(3)=整数型(返回找图对象的图片ID) 
  
调用实例:

[例1]

TracePrint GK.FindTM({605,426,683,504,"1E1EE9","5|15|FFFFFF",true})
TracePrint GK.FindTM("长安城.png|长寿村.png")
TracePrint Gk.FindTM({"西凉女国.png|敖来国.png",true})
TracePrint GK.FindTM({"219|463|FFFFFF,240|450|43C107"},10)

[例2]
Dim A={"北俱芦洲.png|大唐境外.png"}
TracePrint GK.FindTM(A)

Dim arr=GK.FindTM2(A)
TracePrint arr(0),arr(1),arr(2),arr(3)

[例3]
Dim a={527,702,674,834,"图片1.png|图片2.png",true}
Dim arr=GK.FindTM2(a,10)
TracePrint arr(0),arr(1),arr(2),arr(3)

[例4]
Dim a={527,702,674,834,"图片.png",true}
DIM ARR= GK.FindTM2(a)
TracePrint arr(0),arr(1),arr(2),arr(3)

[例5]
DIM arr= GK.FindTM2({527,702,674,834,"图片.png"},10)
TracePrint arr(0),arr(1),arr(2),arr(3)

【注意】:
1.本扩展命令理论上需要先通过数组或表的形式来打包Data数据
2.当且仅当Data数据为一个参数数据时,可以无需将其打包为数组或表。

FindEX、FindEX2


直到对象消失
即先判断找到对象并点击对象,然后在限定时间内检测对象已消失,返回真返回假的条件1.首次查找对象未找到;2.找到对象后等待对象消失时间超时。

函数原型:
Gk.FindEX(Data[, time])
Gk.FindEX2(Data[, time])
     
参数描述:
Data  数组型/非数组型(必选参数)图色数据,GK.Find命令支持的所有图色数据
time  整数型(可选参数)等待消失时间(单位:秒)等待对象消失的时间上限
注:不填time参数默认值为5
   
返回值:
FindEX 返回布尔值
FindEX2  返回数组变量

数组变量(0)=布尔值(表示是否找到对象)
数组变量(1)=整数型(表示对象intX坐标)
数组变量(2)=整数型(表示对象intY坐标) 
数组变量(3)=整数型(返回找图对象的图片ID) 
 
调用实例:

[例1]
TracePrint GK.FindEX({"1E1EE9","5|15|FFFFFF,16|-17|000000",true},10)

[例2]
Dim A={605,426,683,504,"1E1EE9","5|15|FFFFFF,16|-17|000000",true}
TracePrint GK.FindEX(A,10)
 
Dim arr=GK.FindEX2(A)
TracePrint arr(0),arr(1),arr(2)


[例3]
Dim a={"截图2.png|截图1.png"}
Dim arr=GK.FindEX2(A)

TracePrint arr(0),arr(1),arr(2),arr(3)

[例4]
Dim T={527,702,674,834,"截图1.png",true}
DIM ARR= GK.FindEX2(T,10)

TracePrint ARR(0),ARR(1),ARR(2),ARR(3)

[例5]
DIM ARR= GK.FindEX2({527,702,674,834,"截图1.png",true},10)

TracePrint ARR(0),ARR(1),ARR(2),ARR(3)

【注意】:
1.本扩展命令理论上需要先通过数组或表的形式来打包Data数据
2.当且仅当Data数据为一个参数数据时,可以无需将其打包为数组或表
3.本命令如果不加true参数使其点击对象,则有可能对象不会消失,从而判定未找到对象
  
FindUBTM、FindUBTM2
  

遍历对象+等待对象出现
即以遍历数组成员方式在指定时间内查找对象(等待对象出现),找到返回真返回假的条件:查找超时。

函数原型:
Gk.FindUBTM(Data[, time[, Click]])
Gk.FindUBTM2(Data[, time[, Click]])
    
参数描述:
Data  数组型(必选参数)图色数据,GK.Find命令支持的所有图色数据
time  整数型(可选参数)等待出现时间(单位:秒)等待对象出现的时间上限
Click  布尔型(可选参数)是否点击找到对象后是否执行点击操作
注:不填time参数默认值为5;设time为空字符则转换为5不填Click参数默认值为false
  
返回值:
FindUBTM 返回布尔值
FindUBTM2  返回数组变量

数组变量(0)=布尔值(表示是否找到对象)
数组变量(1)=整数型(表示对象intX坐标)
数组变量(2)=整数型(表示对象intY坐标) 

调用实例:
Dim A()
A(0)={"219|463|FFFFFF,240|450|43C107,218|488|2D2FDF"}
A(1)={"88|659|4AE4FE,80|604|204EFE,88|614|E8F1FD"}
TracePrint GK.FindUBTM(A,10,true)

Dim table={{176,426,260,504,"DBE8FF","35|-29|2B12E4,46|27|06BD02"},{174,418,265,513,"2F3BED","-4|-8|D2E6FE,18|-32|1B1F32"}}
TracePrint GK.FindUBTM(table)
 
Dim arr=GK.FindUBTM2(A)
TracePrint arr(0),arr(1),arr(2)

【注意】:本扩展命令必须先通过数组或表的形式来打包Data数据

FindUBEX、FindUBEX2


遍历对象直到对象消失
即先判断找到对象并点击对象,然后在限定时间内检测对象已消失,返回真返回假的条件:1.首次查找对象未找到;2.找到对象后等待对象消失时间超时。

函数原型:
Gk.FindUBEX(Data[, time[, Click]])
Gk.FindUBEX2(Data[, time[, Click]])
    
参数描述:
Data  数组型(必选参数)图色数据,GK.Find命令支持的所有图色数据
time  整数型(可选参数)等待消失时间(单位:秒)等待对象消失的时间上限
Click  布尔型(可选参数)是否点击找到对象后是否执行点击操作
注:不填time参数默认值为5;设time为空字符则转换为5;不填Click参数默认值为false
  
返回值:
FindUBEX 返回布尔值
FindUBEX2  返回数组变量

数组变量(0)=布尔值(表示是否找到对象)
数组变量(1)=整数型(表示对象intX坐标)
数组变量(2)=整数型(表示对象intY坐标) 
  
调用实例:

Dim A()
A(0)={176,426,260,504,"DBE8FF","35|-29|2B12E4,46|27|06BD02"}
A(1)={174,418,265,513,"2F3BED","-4|-8|D2E6FE,18|-32|1B1F32"}
TracePrint GK.FindUBEX(A)
 
Dim table={{176,426,260,504,"DBE8FF","35|-29|2B12E4,46|27|06BD02"},{174,418,265,513,"2F3BED","-4|-8|D2E6FE,18|-32|1B1F32"}}
TracePrint GK.FindUBEX(table)

Dim arr=GK.FindUBEX2(A,10,true)
TracePrint arr(0),arr(1),arr(2)

【注意】:
1.本扩展命令必须先通过数组或表的形式来打包Data数据
2.当且仅当Data数据为一个参数数据时,可以无需将其打包为数组或表
3.本命令如果不加true参数使其点击对象,则有可能对象不会消失,从而判定未找到对象

FindTMEX、FindTMEX2


等待对象出现直到对象消失
即在指定时间内查找对象(等待对象出现),找到后再等待其消失则返回真返回假的条件:1.等待对象超时;2.对象在限定时间内未消失。

函数原型:
Gk.FindTMEX(Data[, time])
Gk.FindTMEX2(Data[, time])
     
参数描述:
Data  数组型/非数组型(必选参数):图色数据,GK.Find命令支持的所有图色数据
time  整数型(可选参数)等待出现/消失时间(单位:秒),等待对象出现和消失时间
注:不填time参数默认值为5
    
返回值:
FindTMEX 返回布尔值
FindTMEX2  返回数组变量

数组变量(0)=布尔值(表示是否找到对象)
数组变量(1)=整数型(表示对象intX坐标)
数组变量(2)=整数型(表示对象intY坐标) 
数组变量(3)=整数型(返回找图对象的图片ID) 
  
调用实例:

[例1]
Dim A={311,489,409,580,"图片.png",true}
TracePrint GK.FindTMEX(A,10)
 
Dim arr=GK.FindTMEX2({311,489,409,580,"图片.png",true},10)
TracePrint arr(0),arr(1),arr(2),arr(3)


[例2]
Dim a={"图片1.png|图片2.png",true}
Dim arr=GK.FindTMEX2(a)
TracePrint arr(0),arr(1),arr(2),arr(3)


【注意】:
1.本扩展命令理论上需要先通过数组或表的形式来打包Data数据
2.当且仅当Data数据为一个参数数据时,可以无需将其打包为数组或表
3.本命令如果不加true参数使其点击对象,则有可能对象不会消失,从而判定未找到对象

FindUBTMEX、FindUBTMEX2


遍历对象等待对象出现直到对象消失
即以遍历数组成员方式在指定时间内查找对象(等待对象出现),找到后再等待其消失则返回真返回假的条件:1.等待对象超时;2.对象在限定时间内未消失。

函数原型:
Gk.FindUBTMEX(Data[, time[, Click]])
Gk.FindUBTMEX2(Data[, time[, Click]])  
   
参数描述:
Data  数组型(必选参数)图色数据,GK.Find命令支持的所有图色数据
time  整数型(可选参数)等待出现/消失时间(单位:秒),等待对象出现和消失时间
Click  布尔型(可选参数)是否点击找到对象后是否执行点击操作
注:不填time参数默认值为5;设time为空字符则转换为5不填Click参数默认值为false
    
返回值:
FindUBTMEX 返回布尔值
FindUBTMEX2  返回数组变量

数组变量(0)=布尔值(表示是否找到对象)
数组变量(1)=整数型(表示对象intX坐标)
数组变量(2)=整数型(表示对象intY坐标)   
   

调用实例:

Dim A()
A(0)={311,489,409,580,"图片.png"}
A(1)={"219|463|FFFFFF,240|450|43C107,218|488|2D2FDF"}
TracePrint GK.FindUBTMEX(A,10,true)

dim table={{176,426,260,504,"DBE8FF","35|-29|2B12E4,46|27|06BD02"},{174,418,265,513,"2F3BED","-4|-8|D2E6FE,18|-32|1B1F32"}}
TracePrint GK.FindUBTMEX(table,10,true)

Dim arr=GK.FindUBTMEX2(A,"",true)
TracePrint arr(0),arr(1),arr(2)

【注意】:
1.本扩展命令必须先通过数组或表的形式来打包Data数据
2.当且仅当Data数据为一个参数数据时,可以无需将其打包为数组或表
3.本命令如果不加true参数使其点击对象,则有可能对象不会消失,从而判定未找到对象

16RPA命令目录图

【果壳插件】

【果壳插件】




17RPA暴力综合命令

[果壳式RPA暴力综合命令]  函数原型:
GK.RPA(Element_Name,Element_Content,x1,y1,x2,y2,Click,Pattern)
以暴力美学的方式穿透性查找所有界面元素,满足不同需求和用途,参数可变可选,调用简单方便,主打傻瓜化。本命令与GK.RPA_Lookup命令配合使用,实现爬虫效果逆了个天!下载插件附送[唯品会商品信息抓取]完整源码。


[参数说明]:
参数Element_Name:字符型必选参数(仅想获取所有元素属性时所有参数皆可不填),元素属性名称(text、resource-id、class)。
参数Element_Content:字符型必选参数(仅想获取所有元素属性时所有参数皆可不填),元素属性内容(元素属性名称对应的值)。
参数x1,y1,x2,y2:整数型可选参数(省略表示不匹配范围坐标),界定元素对象形状的范围坐标,坐标值允许5个像素点的误差。
参数Click:布尔型可选参数,用于表示找到元素对象后是否点击对象,省略默认为false(不点击)。
参数Pattern:整数型可选参数,Pattern的取值范围为0-3,表示查找元素的方式,省略默认为0。
Pattern为0表示精确匹配指定元素属性(如填写元素对象形状范围坐标则需要同时满足元素对象形状的条件)。
Pattern为1表示模糊匹配指定元素属性(如填写元素对象形状范围坐标则需要同时满足元素对象形状的条件)。
Pattern为2表示仅匹配对象形状(由对象范围坐标界定),如未填写元素对象范围坐标或者其值全部为0则表示通杀获取所有元素的所有属性(不进行任何元素匹配)。
Pattern为3表示即使填写了对象元素名称、对象元素属性或对象元素形状的参数,只要此处参数为3则表示强制获取所有元素的所有属性。


[返回值说明]:
返回一个表,可对表进行遍历元素的操作。通过if语句可直接对表是否存在进行判断(失败返回null),以确定指定查找的元素对象是否存在。


[其它说明]:
参数支持传递一个数组表或具体参数值两种形式。


[GK.RPA 代码示例1]:匹配微信图标元素的text属性,匹配成功则打开微信
If GK.RPA("text", "微信", true) Then 

  TracePrint "打开微信:通过匹配对象元素text属性的方式"

End If
[GK.RPA 代码示例2]:同时匹配元素resource-id、calss属性,以及该元素对象的形状(范围坐标),匹配成功则激活对象
If GK.RPA("resource-id", "com.tencent.android.qqdownloader:id/pt", 156, 186, 204, 234, true) Then

  TracePrint "激活元素对象:通过匹配对象元素resource-id属性和元素对象形状(范围坐标)的方式。"

End If
[GK.RPA 代码示例3]:仅通过匹配元素对象的形状来激活对象
Dim Table={"","",430, 366, 570, 540,true,2}

If GK.RPA(Table) Then 

  TracePrint "激活元素对象:仅通过匹配元素对象形状(范围坐标)的方式,且参数以表的形式传递。"

End If
[GK.RPA 代码示例4]:模糊匹配包含指定text关键字的元素标题。
dim table = GK.RPA("text", "下载", 1)

If table Then 

  TracePrint "模糊匹配查找包含“下载”的元素标题,已找到下载按钮"&Len(table)&"个。"

  For i = 1 To Len(table)

    For Each k , v In table[i]

      TracePrint k,v

    Next

  Next

End If
[GK.RPA 代码示例5]:参数以表的形式传入,指定元素属性为text属性,找到元素对象带点击
Dim 微信={"text","微信",true}

[GK.RPA 代码示例6]:仅想获取所有元素的所有属性,可以任何参数都不填写。本命令抓取元素的功力最为透彻
Dim Table=GK.RPA()

For i=1 to len(Table)

  For Each k , v In Table[i]

    TracePrint k,v

  Next

Next

18RPA元素匹配

[果壳式RPA元素匹配]  函数原型:
RPA_Lookup(Table,ElementTable1,ElementTable2,Pattern1,Pattern2)

智能匹配待查找元素表中指定的元素属性。本命令结合GK.RPA果壳暴力综合命令一起使用:“天下武功,唯快不破”


[参数说明]:
参数Table:数据类型为Table型(必选参数),所要进行在其中查找的元素表。
参数ElementTable1:数据类型为Table型(必选参数),该参数表中包含这样一组数据:1.所指定要查找的元素属性名称(字符型);2.所指定要查找的元素属性内容(字符型,即属性名称对应的值)。
参数ElementTable2:数据类型为Table型(可选参数),省略表示不匹配第二组指定元素属性值,若不省略则表示同一元素对象必须同时满足第一组和第二组的属性值才算匹配成功),参数格式参照ElementTable1。
参数Pattern1:数据类型为整数型(可选参数),取值范围为0-1,0表示精确匹配元素值,1表示模糊匹配Text元素值,省略此参数默认为0。
参数Pattern2:数据类型为整数型(可选参数),用于设置ElementTable1和ElementTable2是否需要同时满足条件,取值范围0和1,0表示需同时满足两项元素数据,1表示只满足一项即可,省略默认为0


[返回值说明]:
匹配成功返回所找元素对象的表,表中包含一系列属性值,匹配失败返回null。


[其它说明]:
1. 参数ElementTable1或ElementTable2 所代表的元素属性可为text、resource-id、class,可以实现两两一组,自由组合。
2. 参数ElementTable1和ElementTable2 为普通数组表,非键值对形式的表。


[RPA_Lookup 代码示例1]:匹配两组元素属性特征,来搜索所需要的元素对象
Dim Table,RetTable,ET1={"text","神武4"},ET2={"class","android.widget.TextView"}

Table=GK.RPA()

RetTable = gk.RPA_Lookup(Table, ET1, ET2)

If RetTable Then 

  For Each k , v In RetTable

    NextTracePrint k, v

  Next

End If
[RPA_Lookup 代码示例2]:单独匹配一组元素属性,且采用模糊匹配方式
Dim RetTable,Table=GK.RPA()

RetTable = gk.RPA_Lookup(Table,{"text","神武"},1)

If RetTable Then 

  For Each k , v In RetTable

    TracePrint k,v

  Next

End If
[RPA_Lookup 代码示例3]:抓取唯品会商品信息——爬虫开始爬行(注:下载插件附送完整源码)
Dim Ret,t,ET() //ET数组存入用于匹配元素对象的resource-id属性数据

ET(0)="com.achievo.vipshop:id/rebate_name" //商品名称

ET(1)="com.achievo.vipshop:id/product_item_sale_price" //商品价格 

Dim Table = GK.RPA("resource-id", "com.achievo.vipshop:id/product_list_recycler_view") //根据resource-id查找商品页面共同的父节点(找父亲)。

If Table Then 

  For i = 1 To Len(Table[1]["children"]) //遍历每一个包含商品信息项的子节点(找儿子)。

    For t = 1 To Len(ET)

      Ret= GK.RPA_Lookup(Table[1]["children"][i],{"resource-id",ET[t]}) //通过resource-id(由ET数组变量传递)匹配对应的商品名称和商品价格。

      If Ret Then 

        TracePrint Ret["text"] //找到商品名称或商品价格后,将其text属性值输出。

      End If

    Next

  Next 

End If

19RPA元素追踪

[果壳式RPA元素追踪]  函数原型: RPA_Track(Element_Name,Element_Content,Index,Step,StepUpper,Pattern)
借助某一指定元素对象的“元素下标”来追踪定位下一个指定的元素对象,本命令需与GK.RPA暴力综合命令配合使用。


[参数说明]:
参数Element_Name:字符型必选参数,元素属性名称(text、resource -id、class)。
参数Element_Content:字符型必选参数,元素属性内容(元素属性名称对应的值)。
参数Index:整数型必选参数,当前指定元素的遍历下标,即之前已用GK.RPA命令指定遍历出来的表元素的遍历下标,用于借助此下标来定位一下个指定的元素。
参数Step:整数型可选参数(省略默认为1),向前或向后继续遍历元素的步长,负数向前,正数向后,请勿填0。
参数StepUpper:整数型可选参数,表示步长上限,即定位搜索下一个元素所消耗的步长总数,当步长(Step参数值)为1时,StepUpper可简单理解为遍历次数上限,超过上限值则返回null(省略本参数默认为0,为0表示遍历整个元素表)。
参数Pattern:整数型可选参数(省略默认为0),取值范围0-1,表示查找下一元素的方式,0为精确查找,1为模糊查找。


[返回值说明]:
返回通过定位追踪找到的下一个元素的Text属性值,追踪失败返回null。


[RPA_Track 代码示例]:通过元素标题“京东特价商品”来定位下一个元素对象:该商品的价格信息。遍历出所有特价商品的价格
Dim table=GK.RPA()

For i = 1 To Len(table)

  If table[i]["text"] = "京东特价商品" Then 

    dim text = GK.RPA_Track("resource-id", "com.tencent.android.qqdownloader:id/awy",i)

    TracePrint "特价商品"&i&":"&text

  End If

Next


20RPA过滤检查数据

[果壳式过滤检查数据]  函数原型:
GK.RPA_Check(data)

[功能效果]:
实现对重复数据的过滤判断,可用于RPA数据收集时使用,爽她个歪歪。
在二次审核数据时,所有数据都发生了变化,则判定审核不通过,否则通过。


[参数说明]:
data(可变参数),data可以为一个Table表(键值对),亦可为一个普通数组,亦可为N个字符型数据或数值型数据,或字符+数值混合参数传入都支持。


[返回值说明]:
所传数据重复出现(即第2次出现)时,返回false,表示数据检查未通过;若所传数据未达到重复出现的条件时则返回true,返回true表示数据检查通过。


[其它说明]:
1. data数据为多个值时表示所有指定的数据都必须同时满足已重复出现的条件才算通过检查,返回true,否则返回false。
2. 不可以同时传入表数据和非表数据,或者数组与非数组,且表或数组仅支持传递一个。


[RPA_Check 代码示例1]:以传入表数据的形式检查重复商品
Dim 商品信息()

For 2

  商品信息["商品名称"] = "杜蕾斯"

  商品信息["商品价格"] = "¥18"

  商品信息["商品折扣"] = "8.8折"

  If gk.RPA_Check(商品信息) Then 

    TracePrint "商品信息检查通过,未出现重复数据。"

  Else 

    TracePrint "商品信息检查未通过,出现重复数据。"

  End If

Next
[RPA_Check 代码示例2]:以传入多个普通变量的方式检查重复商品
Dim 商品名称="杜蕾斯",商品价格 = "¥18",商品折扣 = "8.8折"

For 2

  If gk.RPA_Check(商品名称, 商品价格, 商品折扣) Then 

    TracePrint "商品信息检查通过,未出现重复数据。"

  Else 

    TracePrint "商品信息检查未通过,出现重复数据。"

  End If

Next


21RPA遍历元素属性

[遍历查找指定元素属性]  函数原型:
GK.RPA_Find(Class, Text)
遍历查找当前界面指定元素属性的对象。


[参数说明]:
参数Class:指定元素对象的类名(可选参数)。
参数Text:指定元素对象的标题(可选参数)。


[返回值说明]:
1. 返回一个表,该表包含所找元素对象的所有属性,未找到返回null。
2. 若找到元素对象,所包含的关键属性有:text、resource-id、class、left、top、right、bottom


[其它说明]:
1. 若两个参数皆为空则表示遍历查找当前界面所有元素的所有属性,效果等价于GK.RPA_GetAll命令。
2. 若仅填写Class参数则返回包括该Class属性的所有元素对象。
3. 若仅填Text属性则返回包含该Text属性的所有元素对象。


[RPA_Find 代码示例1]:通过元素类名(class)和元素标题(text)来抓取微信桌面图标的元素数据
dim table = gk.RPA_Find("android.widget.TextView","微信")

If table Then 

  TracePrint "果壳式Find查找指定元素属性(类名+标题),共"&Len(table)&"个"

  For i = 1 To Len(table)

    For Each k , v In table[i]

      TracePrint k,v

    Next

  Next

End If
[RPA_Find 代码示例2]:通过元素标题属性(text)查找微信图标
dim table = GK.RPA_Find("微信")

TracePrint "果壳式Find查找指定元素属性(标题),共"&Len(table)&"个"
[RPA_Find 代码示例3]:遍历查找当前界面所有元素对象,效果等价于GK.RPA_GetAll命令
dim table = GK.RPA_Find()

TracePrint "果壳式Find查找当前界面所有元素属性(不指定类名和标题),共"&Len(table)&"个"


22RPA获取元素属性

[获取所有元素属性]  函数原型:
GK.RPA_GetAll()
获取当前界面的所有元素属性。如需抓取更深层次结构的元素,推荐使用GK.RPA暴力综合命令:Table=GK.RPA()


[参数说明]:
无参数


[返回值说明]:
返回一个表,可获取到的元素属性包括:text、resource-id、class、left、top、right、bottom


[RPA_GetAll 代码示例]:获取当前界面所有元素属性并将其逐一输出
dim table = GK.RPA_GetAll()

If table Then 

  TracePrint "果壳式GetAll获取元素属性,共"&Len(table)&"个"

  For i = 1 To Len(table)

    For Each k , v In table[i]

      TracePrint k,v

    Next

  Next

End If


23RPA获取层级属性

[获取元素层级属性]  函数原型:
GK.RPA_GetFull()

获取当前界面的层级元素属性。如需抓取更深层次结构的元素,推荐使用GK.RPA暴力综合命令:Table=GK.RPA()


[参数说明]:
无参数


[返回值说明]:
返回一个表,可获取到的元素属性包括:text、resource-id、class、left、top、right、bottom


[RPA_GetFull 代码示例]:
dim table = GK.RPA_GetFull()

If table Then 

  TracePrint "果壳式GetFull获取元素属性,共"&Len(table)&"个"

  For i = 1 To Len(table)

    For Each k , v In table[i]

      TracePrint k,v

    Next

  Next

End If


24RPA获取元素标题

[获取所有元素标题]  函数原型:
GK.RPA_GetText
()

获取当前界面的所有元素标题:text属性


[参数说明]:
无参数


[返回值说明]:
返回一个表,表中包含所有元素的text属性。


[RPA_GetText 代码示例]:
dim table = GK.RPA_GetText()

If table Then 

  TracePrint "果壳式GetText获取所有元素标题,共"&Len(table)&"个"

  For Each k , v In table

    TracePrint k,v

  Next

End If


25RPA点击元素中心

[点击元素对象中心]  函数原型:
GK.RPA_Click
(tUI)

点击范围坐标所确定的元素对象的中心点。


[参数说明]:
tUI参数代表某一元素对象的元素表。


[返回值说明]:
无返回值。


[RPA_Click 代码示例]:抓取元素对象微信图标的范围坐标数据,并点击该对象中心点
dim table = gk.RPA("text", "微信")

If table Then 

  gk.RPA_Click(table[1])

End If

★果壳学院 QQ群:547563540

果壳万能插件

果壳万能插件

果壳万能插件

果壳万能插件
果壳式疯狂编程,令编程从未此如性感!
——果壳王子
               

6人点赞
即便把我关在果壳中,我仍然是无限空间之王!

大神点评4

权限不够
2022-1-21 15:38:46

可以后台找图呢
2022-9-29 02:14:34

怎么才能下载
2022-10-10 20:06:43

这是手机版的?按键精灵电脑版有?
2022-10-18 10:42:27

您需要登录后才可以回帖 登录 | 注册成为果猿 微信登录

返回顶部