UDF IE.au3的介绍以及应用教程[第二讲]

第二讲,我们开始讨论如何填写表单

第一步,先简单说一下HTML表单(Form).
HTML表单(Form)是HTML的一个重要部分,主要用于采集和提交用户输入的信息。

HTML表单(Form)常用控件有:
input type="text" 单行文本输入框,可以用来输入用户名
input type="password" 密码输入框(输入的文字用*表示)
input type="submit" 将表单(Form)里的信息提交给表单里action所指向的文件,一般我们从网页上看到的就是确定/发表等等
input type="checkbox" 复选框
input type="radio" 单选框
select 下拉框
textArea 多行文本输入框

第二步,我们如何找到一个网页的表单和表单内的控件.
下面我们结合mail.163.com来讲解如何自动填写
这个就是登录时候我们要操作的几个部分:分类如下
1,用户名   
2,密      码  
3,版      本 默   认/极速 3.0 /简   约  
4,记住用户名/增强安全性  
5,登录邮箱/登录网盘


这个五部分就是163mail里面的表单控件,这里我们先要看一下下面两个函数
_IEFormGetCollection 返回代表文档内表单的目标变量的集合,同时@EXTENDED记录了表单的数量
_IEFormElementGetCollection返回代表指定表单内所有控件的目标变量的集合,同时@EXTENDED记录了该表单内控件的数量
好的,知道了上面两个函数的简单描述,我们可以写出:
#include <IE.au3>
$oIE = _IECreate ("
http://mail.163.com")
$oForms = _IEFormGetCollection ($oIE)

MsgBox(0, "表单信息", "这个页面上共有" & @extended & "个表单")
这里还要提到一个关键字"For...In...Next "这个关键字thesnow没有汉化,我就罗嗦几句,
For <$Variable> In <expression>
        statements
        ...
Next

<$Variable> 是一个变量,不必事先声明
<expression>是一个数组或者变量合集(至少包含一个元素)
作用是列举<expression>的所有元素.

为什么要提到这个呢?
因为_IEFormGetCollection ($oIE)返回的是个合集,$oQuerys = _IEFormElementGetCollection ($oForms)这样是错误的,
而正确的方法是:
For $Form In $oForms
        MsgBox(0, "表单名称", $oForm.name)
Next

这里的$Form是随意定义的变量,可以是任意的变量,对于表单内的控件也可以同理得到寻找方法,
完整的查看表单的方法就出来了,

#include <IE.au3>
$oIE = _IECreate ("http://mail.163.com")
$oForms = _IEFormGetCollection ($oIE)
MsgBox(0, "表单信息", "这个页面上共有" & @extended & "个表单")
For $Form In $oForms
MsgBox(0, "表单名称", $Form.name)
$oQuerys = _IEFormElementGetCollection ($Form)
For $Query In $oQuerys
MsgBox(0, "表单控件信息", "名称:"&$Query.name & " 类型:"&$Query.type)
Next
Next
申明:本站资源大部分来自网络,如果无意侵犯了你的权利,请及时通知我们 AutoIt@FoxMail.Com,我们将尽快处理
Copyright © 2008-2009 随便复制 共享精神 人人有责 All Right Reserved
粤ICP备08009024号