http://aq.qq.com/cn/services/abnormal/abnormal_index上面是qq登录页,我想让程序自动填写表单,这个网页是有框架的,我用程序想要给表单赋值,但总是提示"拒绝访问"(实时错误 '-2147024891 (80070005').
我自己模拟它做了一个简单的带框架的网页,用程序是可以赋值的,我看了qq登录页的源代码,只有一个框架,并不存在跨域的问题,是不是他有什么安全机制呢?
我的程序代码:
Private Sub Form_Load()
WebBrowser1.Navigate "http://aq.qq.com/cn/services/abnormal/abnormal_index"
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
WebBrowser1.Document.frames(0).Document.Forms(0)(0).Value
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
    Dim vDoc, vTag
    Dim i  As Integer
    Set vDoc = WebBrowser1.Document.frames(0).Document
    For i = 0 To vDoc.All.length - 1
        If UCase(vDoc.All(i).tagName) = "INPUT" Then
            Set vTag = vDoc.All(i)
                If vTag.Type = "sumbit" And vTag.Value = "登 录" Then vTag.Click
        End If
    Next i
End Sub
请各位高手看看有什么好的办法吗? 

解决方案 »

  1.   

    Private Sub Form_Load()
    WebBrowser1.Navigate "http://aq.qq.com/cn/services/abnormal/abnormal_index"
    End SubPrivate Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
        Dim oDoc As HTMLDocument, oUserName As HTMLInputTextElement, oPassword As HTMLInputElement, oVerifyCode As HTMLInputElement, oSubmitButton As HTMLInputElement
        
        Set oDoc = pDisp.Document
        
        If InStr(URL, "http://ui.ptlogin2.qq.com/cgi-bin/login?s_url=") <> 0 Then
            Set oUserName = oDoc.getElementById("u")
            Set oPassword = oDoc.getElementById("p")
            Set oVerifyCode = oDoc.getElementById("verifycode")
            Set oSubmitButton = oDoc.getElementById("login_button")
            oUserName.Value = "140419"
            oPassword.Value = "123456"
            oVerifyCode.Value = "xmsz"
            oSubmitButton.Click
        End If
    End Sub