[学院院刊]第二十四期-"我叫你你敢答应吗?"之如何设置网页元素特征码

 

"我叫你你敢答应吗?"之如何设置网页元素特征码按键学院院刊介绍院刊是由工程师撰写或收录的围绕按键精灵电脑版知...

"我叫你你敢答应吗?"之如何设置网页元素特征码
按键学院院刊介绍


院刊是由工程师撰写或收录的围绕按键精灵电脑版知识点的文章,每一篇院刊知识点各不相同,可以是脚本、源码或教程的分享,也有可能是工程师们在技术上的奇思妙想哦!

前言

        叫它它不答应?想点击某个网页上的按钮,特征字符串分明是对的,为什么就是没有反应?各种离奇事件,让我们一起走进 解密档案之网页元素特征字符串~



网页元素特征字符串是个啥?

网页元素特征字符串是一个用来描述网页元素标签特征的字符串,用于定位指定元素。特征串格式: 属性1:值1&属性2:值2&属性3:值3&属性4:值4特征串由“&”链接,使用“:”分隔属性名称与属性值;连接成一个完全的特征字符串;

不同的网页元素具备不同的属性。例如百度网页里的,百度一下按钮的html代码:

百度一下按钮具备的属性:type、value、id,这些属性的值分辨是:submit、"百度一下"、su

怎样实现网页上的元素操控

        举个例子:咱们现在需要在百度搜索文本框里输入:按键精灵步骤

1、打开WQM网页小精灵。 Call Plugin.Web.bind("WQM.exe")

2、设置要打开的网页地址。Call Plugin.Web.go("http://www.baidu.com")

3、使用 HtmlInput 命令 往文本框中输入文字。

HtmlInput 命令

命令名称:HtmlInput 往文本框中输入文字命令功能:向网页中指定特征的文本框输入内容命令参数:参数1:字符串型,文本内容参数   2:字符串型,网页元素特征字符串返 回 值:无HtmlInput命令的第一个参数是需要输入的文本内容,设置为"按键精灵" ,第二个参数是元素的特征字符串。

要怎样获取文本框的特征字符串呢?
方法:打开WQM网页小精灵,打开到百度页面,然后点击WQM上的网页分析,就会出现网页元素的分析界面:



按下F9启动网页元素分析,再次按下F9停止

4、获取到文本框的 id 是 kw (id是文本框的属性之一), 文本框的特征字符串:"id:kw"

代码

Call Plugin.Web.bind("WQM.exe")

Call Plugin.Web.go("http://zc.qq.com")

Call Plugin.Web.HtmlInput("按键精灵","id:kw")

效果



元素的属性并非只有 id一种,还有name,type等等,上表格了解下~~

网页元素特征属性

属性名称适用元素及简要说明id所有元素index所有元素, 一般在指定特征时无法唯一定位元素时使用,从0开始计算name具备name属性的表单元素type具备type属性的表单元素value具备value属性的表单元素,一般用来匹配提交按钮

支持使用通配符查询value属性:

value* 表示为特定字符串

value^ 表示为以某字符开始,例:value^:百度,匹配所有以“百度”文字开始的元素

value$  表示以某字符结尾,例:value$:测试,匹配所有以“测试”结尾的元素

txt匹配元素的 innerText,一般用来操作链接;同value系列操作,支持通配符

txt* 表示包含特定字符串

txt^ 表示以特定字符串开始

txt$ 表示以特定字符串结尾

src用于图片元素的匹配,匹配 img 标签的 src 属性同样支持三种通配符;

src* 表示包含特定字符串

src^ 表示以特定字符串开始

src$ 表示以特定字符串结尾

href用于匹配链接的href属性

同样支持三种通配符

href* 表示包含特定字符串

href^ 表示以特定字符串开始

href$ 表示以特定字符串结尾

frame如果页面中包含frame/iframe,都可以通过frame属性来定位frame页面中的元素。

frame编号从0开始

如何组合网页元素特征字符串?

        网页上的元素作为整个网页的组成部分之一,大部分都具备自己独一无二的特征,只要用特征串描述出该特称,就可以定位到该元素。

1、每一个网页元素都可以有一个id,这个id在整个网页中都是唯一的,在很多网页的表单中,表单元素都有ID。如果对应的元素有id,那么这个特征串最为简单,直接使用id:theID即可唯一定位到该元素;

2、早期的网页中,表单元素没有使用id,而是使用了name属性,这个name一般来说也是唯一的,此时可以使用tag:INPUT&name:theName 来定位元素;

3、有一些比较BT的网页表单既不用id,也不用name的,就只能依靠type与index来定位,例如定位表单中的第二个单行文本框:tag:input&type:text&index:1;定位第三个下拉框:tag:select&index:2;

4、点击按钮时,有ID直接使用ID匹配,如果没有ID,也可以通过文字匹配;

5、有点击链接时,大部分情况下都需要使用txt属性,因为链接没有其他属性可以用来匹配;

6、Frame页面元素,有些网页中会采用Frame或者Iframe,在这些Frame子页面中,不能直接控制,需要指定frame才能进行控制,这里采用frame的索引来进行定位。可以使用网页分析器来查看具体的frame页面的index。然后再在特征字符串上加上frame,格式:frame:0&tag:a&txt:超链接。

(本章节原文中配了丰富的实例,请同学们点击左下角阅读原文查看。)

注意:小编在测试QQ注册填表时,发现Tx好奸诈,出生年月日填入之后,会自动给value值加上一个逗号。如果出现这样的情况,可以模拟手动操作,鼠标移动到下拉列表之后下拉进行选择。

特殊情况处理

1、在某些网页中,可能会使用一些特殊的标记例如:
这个类型的input,只能使用index来定位,
特征串:tag:input&type:image&index:0

2、有的表单中使用了提交
这样的按钮来提交表单,特征串: tag:Button&txt:提交

下节预告

      这节就讲到这里,下节将给大家带来:抓取网页指定内容(资料),获取网页里的图片,同学们别错过了~!





点击下方“阅读原文”获取更多内容,查看更多实例

↓↓↓


    关注 按键精灵


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册