我想做个用WebBrowser控件自动登录QQ空间的小程序,但是郁闷的是发现在web_DocumentComplete事件中竟然无法找到用户名和密码的输入框,请朋友们帮忙看看怎么回事。
比如要自动登录163邮箱,那么用下面的代码就行了:
Private Sub Form_Load()
    web.Navigate "http://mail.163.com"
End SubPrivate Sub web_DocumentComplete(ByVal pDisp As Object, URL As Variant)
    If LCase(URL) = "http://mail.163.com/" Then
        web.Document.getElementById("idinput").Value = "我的用户名"
        web.Document.getElementById("pwdinput").Value = "我的密码"
        
    End If
End Sub
但是用同样的方法打开QQ空间的登录页面却不行:
Private Sub Form_Load()
    web.Navigate "http://qzone.qq.com"
End SubPrivate Sub web_DocumentComplete(ByVal pDisp As Object, URL As Variant)
    If LCase(URL) = "http://qzone.qq.com/" Then
        web.Document.getElementById("u").Value = "123456789"
        web.Document.getElementById("p").Value = "123456"
        .......
    End If
End Sub查看登录窗口的源代码可以发现,用户名和密码两个输入框的ID是"u"和"p",但是用web.Document.getElementById("u")却无法获取,哪位朋友知道是怎么回事啊?

解决方案 »

  1.   

    腾讯的密码框全都是非标准类。
    QQ空间、QQ邮箱的密码,各种浏览器,IE、Chrome、Firefox、Opera。没一个能记住密码的。
      

  2.   

    还有
    If LCase(URL) = "http://qzone.qq.com/" Then
    这样的判断、并不能保证网页已经加载完毕、
    if pDisp = web.application then 
    这样才确保网页加载完毕
      

  3.   

    谢谢大家的关注!
    首先可以肯定的是用户名和密码的输入框都是标准的input。
    我又仔细看了一下qzone.qq.com这个网页的源代码,发现用户名、密码其实是放在一个叫login_frame的iframe里面的,但是遍历这个iframe里面的input也找不到用户名和密码的输入框,是不是里面还套了一个iframe?