HtmlSelect 选择网页下拉框
🎯功能
选择网页中的下拉框,支持多选
📜语法
Call Plugin.Web.HtmlSelect(选项值, 特征串)
📥参数
参数 | 数据类型 | 解释 |
---|---|---|
选项值 | 字符串 | 需要选中的下拉选项的值,多个请用% 号分开 |
特征串 | 字符串 | 网页元素特征字符串 |
📤返回
无
💡示例
Call Plugin.Web.Bind("WQM.exe")
Call Plugin.Web.Go("http://www.vrbrothers.com/cn/wqm/demo/pages/Demo-ComplexForm.aspx")
//Delay 3000
Call Plugin.Web.HtmlInput("按键精灵","id:ctl00_mainContent_tbUsername")
Call Plugin.Web.HtmlInput("password","id:ctl00_mainContent_tbPassword")
Call Plugin.Web.HtmlInput("[email protected]","id:ctl00_mainContent_tbEMail")
Call Plugin.Web.HtmlCheck(true,"id:ctl00_mainContent_rblGender_0")
Call Plugin.Web.HtmlSelect("湖北","id:ctl00_mainContent_ddlProvince")
//Delay 500
Call Plugin.Web.HtmlSelect("宜昌","id:ctl00_mainContent_ddlCity")
//Delay 500
Call Plugin.Web.HtmlSelect("4010200%4083000","id:ctl00_mainContent_lbObjectives")
Call Plugin.Web.HtmlCheck(true, "id:ctl00_mainContent_cblHobies_0")
Call Plugin.Web.HtmlCheck(true, "id:ctl00_mainContent_cblHobies_1")
//Delay 2000
Call Plugin.Web.HtmlCheck(true, "id:ctl00_mainContent_cblHobies_2")
Call Plugin.Web.HtmlInput("Test!","id:ctl00_mainContent_tbSelfAssement")
Call Plugin.Web.HtmlCheck(true,"id:ctl00_mainContent_cbAcceptTerms")
Delay 1000
Call Plugin.Web.HtmlClick("tag:input&value:提交")
Sub OnScriptExit()
Call Plugin.Web.Tips("脚本运行完毕")
End Sub
📘备注
- 特征串格式如下:
属性1:值1&属性2:值2&属性3:值3&属性4:值4
- 特征串由
&
链接,使用:
分隔属性名称与属性值;连接成一个完成的特征字符串; - 特称串目前支持的属性有:
属性名称 | 适用元素及简要说明 |
---|---|
id | 所有元素 |
index | 所有元素,此index为具备除开index特征之外,其他相同特侦的元素集合中的index,一般在指定特征时无法唯一定位元素时使用,从0开始计算 |
name | 具备name属性的表单元素 |
type | 具备type属性的表单元素 |
value | 具备value属性的表单元素,一般用来匹配提交按钮 |
value* | 表示为包含,例:value*:手气不错 [google首页] |
value^ | 表示为以某字符开始,例:value^:百度,匹配所有以“百度”文字开始的元素 |
value$ | 表示以某字符结尾,例:value$:测试,匹配所有以“测试”结尾的元素 |
txt | 匹配元素的innerText,一般用来操作链接; |
txt* | 表示包含特定 字符串 |
txt^ | 表示以特定字符串开始 |
txt$ | 特定字符串结尾 |
src | 用于图片元素的匹配,匹配img 标签的src属性 |
src* | 表示包含特定字符串 |
src^ | 表示以特定字符串开始 |
src$ | 表示以特定字符串结尾 |
href | 用于匹配链接的href属性 |
href* | 表示包含特定字符串 |
href^ | 表示以特定字符串开始 |
href$ | 表示以特定字符串结尾 |
frame | 如果页面中包含frame,或者是iframe,都可以通过frame属性来定位frame页面中的元素。frame编号从0开始 |
- 如何组合网页元素特征串?
- 网页上的元素作为整个网页的组成部分之一,大部分都具备自己独一无二的特征,只要用特征串描述出该特称,就可以定位到该元素。
- 在通常情况下,网页分析器能够自动给出网页元素特征串,但有很多特殊情况下,给出的特征串不能正确定位元素,此时就需要用户自行组合特征串,可以使用网页分析来测试。下面给出一些常用的组合方法以供参考:
- 在最新的XHTML规范中,每一个网页元素都可以有一个id,这个id在整个网页中都是唯一的,在很多网页的表单中,表单元素都有ID。如果对应的元素有id,那么这个特征串最为简单,直接使用
id:theID
即可唯一定位到该元素。 - 早期的网页中,表单元素没有使用id,而是使用了name属性,这个name一般来说也是唯一的,此时可以使用
tag:INPUT&name:theName
来定位元素; - 有一些比较BT的网页表单既不用id,也不用name的,就只能依靠type与index来定位,例如定位表单中的第二个单行文本框:
tag:input&type:text&index:1
;定位第三个下拉框:tag:select&index:2
; - 点击按钮时,有ID直接使用ID匹配,如果没有ID,也可以通过文字匹配,例如点击百度搜索按钮:
tag:input&value:百度一下
; - 如果按钮的文字的带有空格,而且空格在两端时,匹配经常失效,此时可以用通配符来匹配:例如google首页上的“手气不错”按钮,它的两端都有一个空格,而且使用的编码的HTML符号 来表示的,直接使用value无法获得准确的匹配,此时就需要使用通配符:
tag:input&value*:手气不错
- 点击链接时,大部分情况下都需要使用txt属性,因为链接没有其他属性可以用来匹配,例如点击网页上的“下一页”链接,
tag:a&txt:下一页
,有的网页上会用下面的格式:“[下一页]”,此时可以使用通配符:tag:a&txt*:下一页
。 - Frame页面元素,有些网页中会采用Frame或者Iframe,在这些Frame子页面中,不能直接控制,需要指定frame才能进行控制,这里采用frame的索引来进行定位。可以使用网页分析器来查看具体的frame页面的index。然后再在特征字符串上加上frame,例如点击按键精灵首页上的知识库链接,就需要采用以下格式:
frame:0&tag:a&txt:知识库
。
- 在最新的XHTML规范中,每一个网页元素都可以有一个id,这个id在整个网页中都是唯一的,在很多网页的表单中,表单元素都有ID。如果对应的元素有id,那么这个特征串最为简单,直接使用
- 特 殊情况处理, 在某些网页中,可能会使用一些特殊的标记,例如
<input type=”image” …. >
, 这个类型的input,只能使用index来定位,例如tag:input&type:image&index:0
; 有的表单中使用了<Button 。。。。>提交</Button>
, 这样的按钮来提交表单,可以使用tag:Button&txt:提交