整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

按键精灵的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语句:

金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想学习按键精灵的朋友可以添加金猪脚本粉丝交流群:554127455 学习路上不再孤单,金猪脚本伴你一同成长.

  • 组别

  • 按键精灵会员
  • UID
  • 915997
  • 帖子
  • 1189
  • 鲜花
  • 593 朵
  • 铜币
  • 1013 个
  • 银币
  • 1334 个
  • 金币
  • 0 个
  • 注册时间
  • 2011-12-06

很多朋友传图,经过N个,然后才到自己目的地。

比如 如下地图

如果从瓦当出发,去古洞。那么,可以是瓦当—洛阳—南郡—古洞。。。瓦当—洛阳—冰峪—南郡—凤翔—古洞。。

怎么走才到,经过几个城市。路途最短怎么走。。。

这就是拓扑图最短路径算法了。

那遇到这样的图,我们怎么在代码上把图画出来呢。

小妖是利用的伪二维数组。比如,这个图。代码如下

  1. 地图数组(1) = array("瓦当", 1, 2, 4)
  2. 地图数组(2) = array("洛阳", 2, 1, 3, 4, 5)
  3. 地图数组(3) = array("冰峪", 3, 2, 5, 7)
  4. 地图数组(4) = array("落水", 4, 1, 2, 5, 6)
  5. 地图数组(5) = array("南郡", 5, 2, 3, 4, 6, 7)
  6. 地图数组(6) = array("凤翔", 6, 4, 5, 7, 8)
  7. 地图数组(7) = array("徐州", 7, 3, 5, 6)
  8. 地图数组(8) = array("古洞", 8, 6)

复制代码

[backcolor=#f7f7f7]地图数组(1) (0) 装地图名称 地图数组(1) (1) 装地图代号 后面的装 地图所能到的其他地图代号

这儿,小妖是从1开始的,为了方便编号 ,不过按键来说,从0开始,大家以后做的时候 ,可以从0开始。

这样,我们就把这张图做出来了。

这样的话,其实,地图数组(1) 本身也是一个数组。我们要用其中的元素的时候,值需要这样调用,如需要 "瓦当" 这个元素:

地图数组(1) (0),这样就行了!甚至可以这样:地图数组(地图数组(2)(2) )(0).

这是什么意思呢?要一层一层的解析。括号里面的首先看喽。 地图数组(2)(2)这个是地图2的第三个元素。结果返回的是1.那么就是:地图数组( 1 ) (0)了,这儿的1是地图数组(2)(2)的返回值。所有,地图数组(1) (0)和地图数组(地图数组(2)(2) )(0)的值时一样的都是"瓦当"。

这些都是 [backcolor=rgb(255,255,255)]we似曾相识[backcolor=rgb(255,255,255)] 帖子上得到的启发。

做了个控件,让其实现选择城市,然后在下面体现两个城市的寻路路径。

核心代码很短。

  1. Dim 地图数组(100) //这儿定义的是地图数组 用来装每一个城市的
  2. Event Form1.Load
  3. 地图数组(1) = array("瓦当", 1, 2, 4) //拓扑图 这儿我利用伪二维数组装 (0) 装地图名称 (1) 装地图代号 后面的装 地图所能到的其他地图代号
  4. 地图数组(2) = array("洛阳", 2, 1, 3, 4, 5)
  5. 地图数组(3) = array("冰峪", 3, 2, 5, 7)
  6. 地图数组(4) = array("落水", 4, 1, 2, 5, 6)
  7. 地图数组(5) = array("南郡", 5, 2, 3, 4, 6, 7)
  8. 地图数组(6) = array("凤翔", 6, 4, 5, 7, 8)
  9. 地图数组(7) = array("徐州", 7, 3, 5, 6)
  10. 地图数组(8) = array("古洞", 8, 6)
  11. End Event
  12. //下拉框响应事件。改变下拉框的值时,自动根据改变值计算最短路径。
  13. Event Form1.ComboBox1.SelectChange
  14. Form1.Label1.Caption=寻路(地图数组(Form1.ComboBox1.ListIndex+1), 地图数组(Form1.ComboBox2.ListIndex+1)(0))
  15. End Event
  16. //下拉框响应事件。改变下拉框的值时,自动根据改变值计算最短路径。
  17. Event Form1.ComboBox2.SelectChange
  18. Form1.Label1.Caption=寻路(地图数组(Form1.ComboBox1.ListIndex+1), 地图数组(Form1.ComboBox2.ListIndex+1)(0))
  19. End Event
  20. Function 寻路(所在城市, 目标城市) //弄个函数...
  21. Dim 栈(100, 1), i, j, z //定义
  22. i=1 : 栈(0, 0) = 所在城市(0) : 栈(0, 1) = 所在城市(1) //给变量初始值 其中 i 是 栈 有值下标后面一个(空闲单元下标) (0) 栈(0,0) 第一个装路径的栈 (0) 栈(0,0) 第一个装城市代号的栈
  23. For j = 0 To 99
  24. If 地图数组(栈(j, 1))(0) = 目标城市 Then // 判断是不是已经到了目标城市
  25. 路径 = 栈(j,0) //如果到了,那么返回的路径就等于 栈(j,0) 这是路径
  26. Exit for //退出 for循环
  27. Else
  28. For z = 2 To UBound(地图数组(栈(j, 1))) //训话地图下面的所有能够到的地图 2开始 是去掉名称 本地图代码之后
  29. If InStr(栈(j, 0), 地图数组(地图数组(栈(j, 1))(z))(0)) > 0 Then //如果这个地图名称在 路径 上出现过 那么跳过
  30. Else
  31. 栈(i, 0) = 栈(j, 0) & "→" & 地图数组(地图数组(栈(j, 1))(z))(0) //把新的路径装到i堆栈里面,新的路径包括要最前栈&新加入的地图名称
  32. 栈(i, 1) = 地图数组(栈(j, 1))(z) //把地图名称装入 i堆里面
  33. i = i + 1
  34. End If
  35. Next
  36. End If
  37. Next
  38. 寻路=路径 //返回结果路径
  39. End Function


猪脚本(原飞猪脚本)以按键精灵教学为主,涉及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();")