按键精灵脚本制作(按键精灵的Html系列命令实战讲解)
按键精灵脚本制作文章列表:
- 1、按键精灵的Html系列命令实战讲解
- 2、按键精灵利用小技巧来轻松实现找图的多分辨率适配
- 3、按键精灵安卓版脚本界面上多选框的一键全选与取消全选
- 4、【按键精灵教程】一个让你可以少些N行的判断命令
- 5、方舟:生存进化对应按键精灵的自动钓鱼脚本
按键精灵的Html系列命令实战讲解
金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想学习按键精灵的朋友可以添加金猪脚本粉丝交流群:554127455 学习路上不再孤单,金猪脚本伴你一同成长.
1.什么是网页元素特征字符串?
请参考网页特征字符串详解,
2.Html系列命令
2.1.HtmlSelect命令
1 HtmlSelect命令只能够根据Select项的值来进行选择,注意这里不是显示在Select项上的文字,而是该项的value。
一个典型的下拉框HTML代码如下:
<select name="city">
<option value="1">北京</option>
<option value="2">上海</option>
<option value="3">广州</option>
</select>
这里如果要选择上海,需要选择值为2的项;
2)级联的下拉列表组合。
在有的网页中,会有几个级联的下拉列表,后一个下拉框会随前一个框的值变化而发生变化,典型的有注册页面上的省份城市选择,HtmlSelect命令能够触发Onchange事件,会导致后一个下拉框值发生变化,但是如果执行脚本太快,而导致后一个未能选中正确的值,可以在前一个HtmlSelect后加上适当的延时;
3)多选表单中的列表控件;有的列表支持多选,在有一些个求职网站中,职业是可以多选的,这时候可以用%将多个需要选择的值连接起来传递给HtmlSelect命令实现多选;
2.2.HtmlExists命令
HtmlExists命令,能够判断指定特征的元素是否存在,并能够返回具备该特征的元素的个数。这个命令能够用来判断某个元素是否存在,如果为0证明不存在;
2.3.HtmlGet命令
HtmlGet命令比较复杂,但是功能也非常强大,该命令具备两个参数,第一个参数为获取类型,目前支持的值如下所示:
序号 值 适用对象
1 text 得到指定元素的文本值,对应DOM属性innerText
2 html 得到指定元素内部的HTML代码,对应DOM属性innerHTML
3 outerHtml 得到元素整体的HTML代码,对应DOM属性的outerHTML
4 value 得到元素的Value值,用于获取表单元素内部的值
5 src 得到图像元素的src属性,用于IMG标签对象
6 href 得到链接元素的链接地址,用于A标签
7 …其他名称 其他属性,如果您使用的是合法的属性名称,就能够返回对应的值。如何才是合法的属性?请参阅HTML标准。
第二个参数为特征字符串,如果匹配多个,只能返回第一个元素的值;
例如,获得淘宝货物价格:
Plugin price=Web.HtmlGet("text","id:id_Price")
获取某个表单文本的值
Plugin email=Web.HtmlGet("value","name:Email")
2.4.RunJS命令
RunJS命令提供了直接运行Javascript的功能,如果您对JS非常熟悉,就能够极大的扩展WQM的功能。
RunJS命令支持两中执行方式,第一个参数设置为0时,能够执行一段没有返回值的Javascript,
例如:
RunJS(0,"alert('hello');")
第一个参数设置为1时,能执行一段js并返回由return语句返回的值,返回值为字符串类型;
例如:返回Html文档的title;
RunJS(1,"var t=document.title;return t;")
如果您分析到网页中某个按钮实际上就是执行了一个函数,例如
<input type="Button" … />
您就可以直接调用
RunJS(0,"dosomething();")
JQuery的支持,网页按键精灵集成了Jquery1.3.2,为了不与其他JQ的库发生冲突,使用了wqmjq来代替$操作符,如果您需要直接使用JQ来操作网页,可使用wqmjq来执行Jquery语句:
RunJS(0,"wqmjq('#test').click();")
按键精灵利用小技巧来轻松实现找图的多分辨率适配
金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想制作脚本和学习按键精灵的朋友可以添加按键精灵学习交流群:554127455 学习路上不再孤单,金猪脚本伴你一同成长.
在安卓按键上编写脚本时,相对使用多点找色来说,使用找图的命令会更加的轻松。因为找图只要把要找的图片接取下来保存,丢到附件里就能用了,但是多点找色就会麻烦,还需要一个个的仔细的去取点,如果取的点不好还会影响之后的找色。但是找图命令一直困扰大家的问题就是多分辨率适配的问题,所以今天就给大家介绍下使用找图命令来实现多分辨率适配的小技巧
准备工作
找图命令
命令名称FindPic命令功能查找指定的图片,支持多图、偏色、相似度查找,支持查找透明图,只返回第一个找到的坐标命令参数x1:整数型,查找区域左上X坐标
y1:整数型,查找区域左上Y坐标
x2:整数型,查找区域右下X坐标
y2:整数型,查找区域右下Y坐标
pic_name:字符串,要找的图片名字,多个图片用“|”号分隔
delta_color:16进制字符串,偏色
sim:双精度浮点数,相似度,取值范围0-1
dir:整数型,查找方向:
0:表示从左上向右下查找;
1:表示从中心往四周查找;
2:表示从右下向左上查找;
3:表示从左下向右上查找;
4:表示从右上向左下查找;
intX:变参指针,返回找到的X坐标
intY:变参指针,返回找到的Y坐标
返回值返回找到的图片的序号,从0开始索引.如果没找到返回-1
截取特征图
可以在电脑上使用安卓模拟器,设置成不同的分辨率,然后把每个分辨率下的特征图片分别截取下来保存
因为在不同分辨率下图片的像素点数量和间隔是不同的,所以无法直接通过比例的计算来准确转换,即使能转换成功率也比较低。所以需要在不同分辨率下分别截取特征图保存
编写找图函数
一般正常的多分辨率找图思路是这样的:
先把特征图片进行重命名,同一个特征在名称上加上一些编号之类的标记来区分,比如要找QQ图标,那QQ图标的不同分辨率下的图片会命名成:QQ_1、QQ_2、QQ_3以便区分
按照这种思路来写代码的话就是这样的
If w = 480 and h = 854 Then
If Pic_FindPic(0, 0, 0, 0, QQ_1.png) Then
TracePrint "找到QQ图标"
Else
TracePrint "没找到QQ图标"
End If
ElseIf w = 720 and h = 1280 Then
If Pic_FindPic(0, 0, 0, 0, QQ_2.png) Then
TracePrint "找到QQ图标"
Else
TracePrint "没找到QQ图标"
End If
ElseIf w = 1080 and h = 1920 Then
.
.
.
.
End If
Function Pic_FindPic(x, y, x1, y1, pic)
Dim intX, intY
FindPic x, y, x1, y1, "Attachment:" & pic ,"000000",0, 0.8, intX, intY
If intX > -1 Then
Pic_FindPic = True
Else
Pic_FindPic = False
End If
End Function
复制代码
要找一个图片的话,还需要先判断当前的分辨率,然后根据不同的分辨率来选择找不同的图片。
这样如果要想适配多分辨率,那写出来的代码就太长了,这也是很多同学放弃使用找图的原因。
接下来我就给大家普及下找图的灵活用法,可以让这种多分辨率找图的代码成倍的缩短
找图的灵活用法
首先我们需要对截取下来的特征图片进行一些不同的命名处理。命名的格式是这样的:图片名称 分辨率。 比如480*854分辨率下的特征图可以命名为:特征480854.png
这样做的好处就是好便于管理,同时也是下面这种找图代码中的核心设置
Dim w = GetScreenX,h = GetScreenY
‘把横坐标和纵坐标连接起来
Dim winxy = w & h
Do
If Pic_FindPic(0, 0, 0, 0, 特征1) Then
ElseIf Pic_FindPic(0, 0, 0, 0, 特征2) Then
ElseIf Pic_FindPic(0, 0, 0, 0, 特征3) Then
End If
Loop
Function Pic_FindPic(x, y, x1, y1, pic)
Dim intX, intY
FindPic x, y, x1, y1, "Attachment:" & pic & winxy & ".png" ,"000000",0, 0.8, intX, intY
If intX > -1 Then
Pic_FindPic = True
Else
Pic_FindPic = False
End If
End Function
复制代码
简单的改动下找图的函数,就可以让整体的代码大幅度的精简,同时也不用再多去判断不同分辨率下要用哪套找图代码了。这种技巧的好处就在于不用多余的去判断不同分辨率下要调用哪套找图,可以直接把图片名称传入函数即可。
按键精灵安卓版脚本界面上多选框的一键全选与取消全选
大家好,我是公众号3分钟学堂的郭立员~
今天要实现的功能是脚本界面上多选框的一键全选与取消全选,效果如图所示:
基本思路:
一、使用uip.SetAttribute命令设置多选框的选中状态
二、由于一个按钮有两个功能,所以要判断按钮的状态,在修改多选框之前,先获取按钮上的文字,如果文字是全选,就执行多选框勾选,如果文字是取消全选,就执行多选框取消勾选。
例子界面源码:
界面1:{ 标签页1: { 多选框: { 名称:"多选框1", 提示内容:"提示用户的文字内容", 点击响应:"函数名1", 选中:false, 文字大小:0, 高度:0, 宽度:0, 注释:"文字大小、高度、宽度是可选属性,如需使用默认值,可保持值为0或直接删除此属性" }, 多选框: { 名称:"多选框2", 提示内容:"提示用户的文字内容", 点击响应:"函数名1", 选中:false, 文字大小:0, 高度:0, 宽度:0, 注释:"文字大小、高度、宽度是可选属性,如需使用默认值,可保持值为0或直接删除此属性" }, 多选框: { 名称:"多选框3", 提示内容:"提示用户的文字内容", 点击响应:"函数名1", 选中:false, 文字大小:0, 高度:0, 宽度:0, 注释:"文字大小、高度、宽度是可选属性,如需使用默认值,可保持值为0或直接删除此属性" }, 多选框: { 名称:"多选框4", 提示内容:"提示用户的文字内容", 点击响应:"函数名1", 选中:false, 文字大小:0, 高度:0, 宽度:0, 注释:"文字大小、高度、宽度是可选属性,如需使用默认值,可保持值为0或直接删除此属性" }, 按钮: { 名称:"按钮1", 显示内容:"全选", 点击响应:"全选", 文字大小:0, 高度:0, 宽度:0, 注释:"文字大小、高度、宽度是可选属性,如需使用默认值,可保持值为0或直接删除此属性" }, }, }
函数源码:
Function 全选() dim tb=UIP.GetAttribute ("按钮1") If tb["显示内容"] = "全选" Then UIP.SetAttribute("多选框1",{"选中":true}) UIP.SetAttribute("多选框2",{"选中":true}) UIP.SetAttribute("多选框3",{"选中":true}) UIP.SetAttribute "多选框4", {"选中":true} UIP.SetAttribute "按钮1", {"显示内容":"取消全选"} Else UIP.SetAttribute("多选框1",{"选中":false}) UIP.SetAttribute("多选框2",{"选中":false}) UIP.SetAttribute("多选框3",{"选中":false}) UIP.SetAttribute "多选框4", {"选中":false} UIP.SetAttribute "按钮1", {"显示内容":"全选"} End IfEnd Function
=正文完=
【按键精灵教程】一个让你可以少些N行的判断命令
金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想制作脚本和学习按键精灵的朋友可以添加按键精灵学习交流群:554127455 学习路上不再孤单,金猪脚本伴你一同成长.
相关命令:
命令名称:iif命令功能:用于根据条件的真假,来返回指定的内容参数:参数1【必要】:字符串,条件表达式
参数2【必要】:字符串,当条件成立时返回这个参数内容
参数3【必要】:字符串,当条件不成立时返回这个参数内容返回值:根据提交的真假返回对应的内容
这个命令就是用来简if判断语句的。俗话说没有对比就没有伤害,我们用一个简单的小范例来对比下
常规的if判断:
Dim num = 11
If IsNumeric(num) = true Then
TracePrint "变量类型是数字"
Else
TracePrint "变量类型不是数字"
End If
复制代码
使用iif命令简化
Import "ShanHai.lua"
Dim num = 11
TracePrint shanhai.iif(IsNumeric(num),"变量类型是数字", "变量类型不是数字")
复制代码
通过这样的比较你就可以发现,原先6行的代码被简化成了最多3行。这个就是iif命令的简便的地方了。可以在一些需要简单判断的地方简化代码。
命令会根据第一个参数表达式返回的结果,来进行判断,如果表达式的结果为真,那就会返回iif命令的第二个参数的内容,如果结果是0或者假的话,则会返回iif命令的第三个参数的内容。
上面的这个例子只是用很普通的变量进行了一些判断,返回的内容也只是字符串而已,实际上这个命令还可以扩展成判断函数返回以及根据返回去调用函数
Function FindPicEx(x, y, x1, y1, pic)
Do
Dim intX, intY
FindPic x, y, x1, y1, pic,"000000",0, 0.8, intX, intY
If intx > -1 Then
FindPicEx = True
Exit Do
Else
FindPicEx = false
End If
Delay 1000
Loop
End Function
Function Click(x, y)
For 5
Tap x, y
Delay 500
Next
End Function
Function SwipeEx(x, y, x1, y1)
For 2
Swipe x, y, x1, y1, 1000
Delay 1000
Next
End Function
Call shanhai.iif(FindPicEx(277,967,364,1018,"At
方舟:生存进化对应按键精灵的自动钓鱼脚本
《方舟:生存进化》中脚本可以帮助大家省下不少功夫,但是也是有风险的。下面一起看下“undead_90”分享的《方舟:生存进化》对应按键精灵的自动钓鱼脚本,一起来看吧。
首先声明:作弊有风险,按键精灵我从上年就开始用来辅助了,我至今没出事不代表你们不会出事。
这个脚本是我自己亲手写的,因为是开放式的,所以我放出来后就不管了,你们随意搞。
按键精灵对应版本为去年10月份按键精灵官网版本的使用次数破解版(意思就是你现在找的破解版应该都能用)
里面一个是脚本,另一个是图包
打开后先加载脚本,然后再加载图包里的图片
如果图包和你之前的图包有冲突,改一下图片的名字和脚本里面对应的图片名字就行了
还有我用的显示器是1080P的,但是用1600*900分辨率窗口模式置中进行游戏,和我分辨率不一样的要自己改一下坐标范围和缩放图片
目前没有出错,十分稳定。
====
本脚本原理是小范围坐标内搜索QWEASDZXC图片相同时,按下对应的字母,可以胜任2.8的鱼,有用高级杆的朋友注意自己按F补杆。如果要钓3.0-4.2的鱼请保证自己网速流畅和FPS50以上的情况下,将延迟时间缩短两成。
====
更多相关讨论请前往:方舟:生存进化论坛