VB与IE浏览器交互——自动填表

VB填充IE上的输入框并提交    
  假设登录页面的HTML代码如下:  
   
  <!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN">  
   
  <html>  
  <head>  
    <title>testPage</title>  
  </head>  
   
  <body>  
   
  <FORM   name=chh   method   =   "POST"   action   =   "login.asp">  
   
      <table   width="100%"   border="0"   cellspacing="0"   cellpadding="2">  
          <tr>    
              <td   width="31%"   align="center">用户:</td>  
              <td   width="69%"   align="left">    
                <input   name="LoginName"   type="text"   id="LoginName"   size="12">    
              </td>  
          </tr>  
          <tr>    
              <td   width="31%"   align="center">密码:</td>  
              <td   width="69%"   align="left">    
                <input   name="LoginPassword"   type="password"   id="LoginPassword"   size="12">    
              </td>  
          </tr>  
      </table>  
  <input   type   =   "submit"   id   =   "clickme"   value   =   "提交">  
  </FORM>  
  </body>  
  </html>  
   
   
  很简单的页面,在上面有一个登录的Form,一个用户名输入框LoginName,一个密码输入框LoginPassword和一个提交按钮clickme  
   
     
   
  然后用IE打开这个页面,注意页面的title设置为testPage。  
   
     
   
  然后打开VB,在工程中引用Microsoft   internet   controls:  
   
  Private   Sub   Command1_Click()  
          Dim   IEList   As   New   ShellWindows  
          Dim   browser  
          Dim   Doc  
           
          On   Error   Resume   Next  
           
          '遍历当前地浏览器窗口  
          For   Each   browser   In   IEList  
                  '找到需要地IE窗口  
                  If   browser.Document.Title   =   "testPage"   Then  
                          '获得浏览器地文档对象  
                          Set   Doc   =   browser.Document  
                           
                          '填写用户名字段  
                          Doc.body.All("LoginName").Value   =   "eddie"  
                          '填写密码字段  
                          Doc.body.All("LoginPassword").Value   =   "123456"  
                           
                          '提交  
                          Doc.body.All("clickme").Click  
                  End   If  
          Next  
  End   Sub   

 

怎么编程把用户名,密码提交到网页上的登录页?
首先在程序中加入Webbrowser控件并加入引用 Microsoft HTML Object Library。
假设你的HTML页面表单代码如下:

注意其中元素的type、Name、value属性。然后VB中的代码如下:
Private Sub Command1_Click()
WebBrowser1.Navigate "http://chen/chat/newuser.htm"
End Sub

 

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Dim vDoc, vTag
Dim i As Integer

Set vDoc = WebBrowser1.Document
List1.Clear
For i = 0 To vDoc.All.length - 1
If UCase(vDoc.All(i).tagName) = "INPUT" Then
Set vTag = vDoc.All(i)
If vTag.Type = "text" Or vTag.Type = "password" Then
List1.AddItem vTag.Name
Select Case vTag.Name
Case "Name"
vTag.Value = "IMGod"
Case "NickName"
vTag.Value = "IMGod"
Case "Password"
vTag.Value = "IMGodpass"
Case "EMail"
vTag.Value = "IMGod@paradise.com"
End Select
ElseIf vTag.Type = "submit" Then
vTag.Click
End If
End If
Next i
End Sub
点击Command1就可以自动填表并提交了。


 

================================================================= EtSoftware 软件库: InternetExplorerCtl 项目概述 ================================================================= 软件介绍: 程序通过自动填充功能,填网页表格完成自动提交,适用于群发博文,邮件等操作。 软件开发由EtSoftware工作室研发。用户可根据设定的配置文件。定时发送相关内容。 程序仅用于学习使用不得用于商业用途,违法规定后果自负。相关版本可以关注EtSoftware 官方网站与博客。如您有好的建议可以通过发送邮件至EtSoftWare@163.com或QQ466814195留言 提出软件修改建议。我们将虚心接受。感谢您对EtSoftware团队的支持! 适用人群: 1,推广人,每天需大量发送博文或留言人群 2,略懂编程人员,使用起来文件,可通过循环生成配置文件。 配置说明: [set] ;step总数 stepcount=10 ;记录步进位置 Idx=0 ;复制次数 times=1 ;以step+index格式书 index为动作次序 0为起始点 [step0] ;操作命令 ;SETLOCAL 设置URL ;SETLOCALNOBUSY 设置URL 等待前一次加载完成 ;ONCLICK 单击事件 ;INNERTEXT 以innerText填充控件 ;INNERHTML 以innerHTML填充控件 ;SUBMIT 提交表单 cmd=SETLOCAL ;TagName默认为INPUT TagName= ;网页节点 属性标识 默认为NAME属性 AttName= ;网页节点 属性值 AttVal= ;值 支持自动转码如\r\n自动转换成换行回车符 Value=etsoftware.3322.org ;执行前停留时间单位为毫秒 Pretime=1000 软件名:EtSoftWare.InternetExplorerCtl 支持平台:WinXP,Win2000,Win2003,Win7,Win2008,Vista 软件类型:永久免费,绿色版,破解版 开发:半条虫(466814195) 发行:EtSoftWare 网址:EtSoftWare.3322.org 博客:EtSoftWare.blog.163.com 软件未经授权不得用于商业用途,违者必究。 更新日志: 2013-03-15 研发 3012-03-24 内测 ================================================================ 本压缩包不包涵源码,不便之处敬请原谅。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值