问题一:请问登陆的网页源代码中密码的type为“password”类型时,如何在webbrowser中实现自动输入密码。源代码如下:
<html><head>
<title>
  Authentication Form 
</title> 
</head> 
<BODY BGCOLOR="#ececec" TEXT="#000000"> 
<FORM METHOD="POST" ACTION="http://210.43.46.5:900"> 
<INPUT TYPE="hidden" NAME="ID" VALUE="413403031614"> 
<INPUT TYPE="hidden" NAME="STATE" VALUE="2">
用户密码 FireWall-1 password: <p> <INPUT TYPE="PASSWORD" NAME="DATA" size="14"> 
<INPUT TYPE="submit" VALUE="认证">  
</FORM>
</BODY>
</html>
问题二:当网页中有两个optionbutton时,如何用webbrowser控件编程选中其中一个,网页源码如下
<html><head>
<title>
  Authentication Form 
</title> 
</head> 
<BODY BGCOLOR="#ececec" TEXT="#000000"> 
<FORM METHOD="POST" ACTION="http://210.43.46.5:900"> 
<INPUT TYPE="hidden" NAME="ID" VALUE="41340143154e"> <P>
<INPUT TYPE="hidden" NAME="STATE" VALUE="3"> 
User cfzhang authenticated by FireWall-1 authentication
<p>
<INPUT TYPE="radio" NAME="DATA" VALUE="1">标准认证                                                              
<INPUT TYPE="radio" NAME="DATA" VALUE="2" checked>注销认证         
<INPUT TYPE="submit" VALUE="提交"> 
</FORM>
</BODY>
</html>

解决方案 »

  1.   

    http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/mshtml/overview/overview.asp
    http://www.microsoft.com/china/msdn/archives/workshop/scrape.asp
      

  2.   

    1'添加webbrowser , List, 按钮控件
    'Option ExplicitPrivate Sub Form_Load()
    WebBrowser1.Navigate2 App.Path & "\test.htm"
    End SubPrivate 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 = "[email protected]"
                    End Select
                ElseIf vTag.Type = "submit" Then
                    vTag.Click
                End If
            End If
        Next i
    End Sub'test.htm文件
    '<HTML>
    '<HEAD>
    '<TITLE>测试页</TITLE>
    '</HEAD>
    '<BODY>
    '<form method="POST" action="result.asp">
      '<p>请填写下面表单注册(*项为必添项)</p>
    '  <'p>*姓名<input type="text" name="Name" size="20"></p>
     ' <p>*昵称<input type="text" name="NickName" size="20"></p>
      '<p>电子邮件<input type="text" name="EMail" size="20"></p>
    '  <p>*密码<input type="password" name="Password" size="20"></p>
     ' <p><input type="submit" value="提交" name="B1">
      '<input type="reset" value="全部重写" name="B2"></p>
    '</form>
    '</BODY>
    '</HTML>
      

  3.   

    重新写了一下
    1,2合并Private Sub Form_Load()
    WebBrowser1.Navigate2 App.Path & "\test.htm"
    End SubPrivate 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" Or vTag.Type = "radio" Then
                    List1.AddItem vTag.Name
                    Select Case vTag.Name
                        Case "Name"
                            vTag.Value = "IMGod"
                        Case "R2"
                            vTag.Checked = True
                        Case "NickName"
                            vTag.Value = "IMGod"
                        Case "Password"
                            vTag.Value = "IMGodpass"
                        Case "EMail"
                            vTag.Value = "[email protected]"
                    End Select
                ElseIf vTag.Type = "submit" Then
                    'vTag.Click
                End If
            End If
        Next i
    End Sub'test.htm文件
    <HTML>
    <HEAD>
    <TITLE>测试页</TITLE>
    </HEAD>
    <BODY>
    <form method="POST" action="result.asp">
      <p>请填写下面表单注册(*项为必添项)</p>
      <p>*姓名<input type="text" name="Name" size="20"></p>
      <p>*男<input type="radio" value="V1" name="R1"></p>
      <p>*女<input type="radio" value="V1" name="R2"></p>
      <p>*昵称<input type="text" name="NickName" size="20"></p>
      <p>电子邮件<input type="text" name="EMail" size="20"></p>
      <p>*密码<input type="password" name="Password" size="20"></p>
      <p><input type="submit" value="提交" name="B1">
      <input type="reset" value="全部重写" name="B2"></p>
    </form>
    </BODY>
    </HTML>