IE浏览器交互

IE浏览器交互
2010年12月11日
  
VB与――自动填表
  VB填充IE上的输入框并提交
  假设登录页面的HTML代码如下:
  
  
  
  testPage
  
  
  
  
  
  用户:
  
  
  
  
  
  密码:
  
  
  
  
  
  
  
  
  
  很简单的页面,在上面有一个登录的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就可以自动填表并提交了。
  '怎么编程把用户名,密码提交到网页上的登录页?
  '首先在程序中加入Webbrowser控件并加入引用 Microsoft HTML Object Library。
  '假设你的HTML页面表单代码如下:
  '
  ' 请填写下面表单注册(*项为必添项)
  ' *姓名
  '' *昵称
  ' 电子邮件
  ' *密码
  '
  '
  '注意其中元素的type?Name?value属性?然后VB中的代码如下:
  Private Sub Command1_Click()
  WebBrowser1.Navigate "http://bbs.hackht.com/"
  End Sub
  Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
  Dim vDoc, vTag '申明变量,好给下面的引用做铺垫
  Dim i As Integer '申明变量i
  Set vDoc = WebBrowser1.Document '①为了写代码方便简明,将WebBrowser1控件的Document元素赋值给vDoc,从此,vDoc就等同于 Webbrowser1.Document这一个元素了
  For i = 0 To vDoc.All.length - 1 '用for语句遍览WebBrowser1控件里显示的网页里的所有元素, WebBrowser1.Document.All是指的所有元素,加上length就是所有元素的个数的序号,但是这些元素序号是从0开始计数的,所以序号总比元素的个数要大一。所以为了表示个数,必须减上1.
  If UCase(vDoc.All(i).tagName) = "INPUT" Then 'WebBrowser1.Document.all(i)是指的当前的元素,tagName的意思是标签,标签是指的HTML代码里的标签,比如,input是标签,而name是指的标签的名字 ,至于Ucase函数则是使括号里的结果变成大写
  Set vTag = vDoc.All(i) '此处作用同①
  If vTag.Type = "text" Or vTag.Type = "password" Then 'type是类型,此处是说元素标签的类型是什么,比如,此处是标签类型是一个text,即文本框
  Select Case vTag.Name 'select条件语句,判断标签的名字
  Case "pwuser" '如果标签名字是"pwuser"
  vTag.Value = "XXXXXXX" '标签的值(value)等于多少。
  Case "pwpwd"
  vTag.Value = "PPPPPPP"
  End Select
  ElseIf vTag.Type = "submit" Then '或者如果类型是submit(提交按钮)
  vTag.Click '模拟鼠标的点击
  End If
  End If
  Next i
  End Sub其中 vTag.Value = "XXXXXXX"中的XXXXXXX代表你的论坛ID或用户名,PPPPPPP代表你的密码
  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

iteye_15267

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值