QQ邮箱里面有个等级,虽然没有什么大用处,但是据说可以拿积分换相应的服务,而且等级高了看着比较舒服,所以我就想弄高一点。腾讯比较抠门,每次web登录一次给加1分,但是限制每天的上限是20分,所以我就手动登录了20次,换了20分。一天倒还可以,两天就烦了,如是写了个自动登录的小程序。本以为挺简单的,谁知道真正实现起来还有些磕磕绊绊,借鉴了好多高手的代码,总算是达到目的了,我把核心的冬冬分享一下:
先在form上放一个webbrowser组件,然后放俩text输入框,放一个command按钮。
Dim i As Integer
Dim user As String
Dim pwd As String
Sub a()
'自定义一个过程
For i = 0 To WebBrowser1.Document.Forms(0).length - 1
'html文档的长度
user = Text1.Text
pwd = Text2.Text
If WebBrowser1.Document.Forms(0)(i).Name = "u" Then
WebBrowser1.Document.Forms(0)(i).Value = user
'填上用户名
End If
If WebBrowser1.Document.Forms(0)(i).Name = "p" Then
WebBrowser1.Document.Forms(0)(i).Value = pwd
'填上密码
End If
If WebBrowser1.Document.Forms(0)(i).Name = "Submit" Then
WebBrowser1.Document.Forms(0)(i).Click
'点击登录按钮
End If
Next
登录之后,页面标题发生了变化,可以根据这个判断有没有登录,然后执行下一次登录。先退出登录:
If WebBrowser1.Document.Title = "今日" Then
WebBrowser1.Navigate "http://mail.q...i-bin/logout/"
End If
然后跳到主页面:
If WebBrowser1.Document.Title = "QQ邮箱" Then
WebBrowser1.Navigate "http://mail.qq.com"
End If
End Sub
再执行一遍循环就可以了,循环次数定为20就行。程序load的时候可以先转到主页面:
Private Sub Form_Load()
WebBrowser1.Navigate ("http://mail.qq.com")
Do
If WebBrowser1.Busy = False Then Exit Do
DoEvents
Loop
End Sub
我看了看,可以不用退出,直接跳转到主页面就可以执行下一次登录,也给算积分,所以上面那个注销的语句可以不用了。
btw:突然发现,blog的访问量从6月份上了600以来,这两天又上了800,太触目惊心了。
科考散伙了
韩乔生语录大全
2006-6-10 21:13 | by


