主题 : VB填充IE上的输入框并提交

股票交流区正式版主
UID: 47247
级别: 青干剑→版主
精华: 0
发帖: 43073
灵魂: 9 颗
水晶: 821 颗
贡献石: 99 颗
警告石: 3 颗
好评石: 81685 颗
信誉石: 2 颗
技术分: 6095 分
活跃分: 189 分
社团: 夜光党
银行水晶总资产: 91 颗
在线时间: 6904(小时)
注册时间: 2009-12-26
最后登录: 2016-07-21
楼主  发表于: 2014-06-22 10:17

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
我的博客http://blog.sina.com.cn/u/1906983555
来自:   顶端
UID: 535680
级别: 论坛游民
精华: 0
发帖: 1
灵魂: 0 颗
水晶: 0 颗
贡献石: 0 颗
警告石: 0 颗
好评石: 0 颗
信誉石: 0 颗
技术分: 0 分
活跃分: 0 分
银行水晶总资产: 0 颗
在线时间: 5(小时)
注册时间: 2017-09-12
最后登录: 2017-09-16
1楼  发表于: 2017-09-13 16:49

我试了下。提示要求对象!!求楼主解答
来自:   顶端