Public Sub ReferForm(ByVal Webbrowser As Webbrowser, ByVal FormType%, Optional ByVal FormName$, Optional ByVal Value$ = "")
    'http://www.jcwcn.com/html/CSSHTML/10_43_45_931.htm
    'Text = 0;  password = 1;  textarea = 2;  Hidden = 3;  CheckBox = 4;  submit = 8;  button = 9
    '//
    If FormType < 0 Or FormType > 9 Then
        Exit Sub
    End If
    Dim objDoc, objTag
    Set objDoc = Webbrowser.Document
    For i = 0 To objDoc.All.length - 1
        Select Case UCase$(objDoc.All(i).tagName)
            Case "INPUT"
            Set objTag = objDoc.All(i)
            Select Case FormType
                Case 0, 1
                If objTag.Name = FormName Then
                    objTag.Value = Value
                End If
                Case 3
                Case 4
                If objTag.Id = FormName Then
                    objTag.Checked = CInt(Value) 'Click
                End If

                Case 8
                If objTag.Type = FormName Then
                    objTag.Click
                End If
                Case 9
                If objTag.Type = FormName Then
                    objTag.Click
                End If                '.Document.All(FormName).Value = uValue
                '.Document.All(FormName).Click
            End Select
            Case "TEXTAREA"
            Set objTag = objDoc.All(i)
            Select Case FormType
                Case 2
                objTag.Value = Value
            End Select
        End Select
    Next
    DoEvents
End Sub网页内容:淘宝登陆页面
 <span class="safe-login">
                <input  type="checkbox" id="J_SafeLoginCheck" tabindex="4"/><label for="J_SafeLoginCheck">安全控件登录</label>
            </span>VB:
Private Sub Command1_Click()
Call ReferForm(WebBrowser1, 4, "J_SafeLoginCheck", 0)
end sub红色部分可将网页checkbox去除选中,但我用VB提交密码时,还是不能填写进去,手动点击去除"安全控件登录"的checkbox,可以提交密码,应该是没有获得input焦点,有没有办法做到手动后的效果?想发个效果图片的,不能发

解决方案 »

  1.   

    个人判断多半未正确得到你想要的checkbox对象
    由于webbrowser控件的自身限制很多,之前我做类似功能时一般会使用SHDocVw.dll和mshtml.dll,功能相较强大不少。
      

  2.   

    己经找到了,并且可以正常去除选中,但是用VB去除跟手动去除后效果不一样,手动去除后,可以通过VB提交密码
      

  3.   

    第一张图的是VB去除的,第二张是手动去除“安全控件登录”第三张是手动去除情况下,VB提交表单,密码能提交上去