vb循环问题 急 在线等

来源:百度知道 编辑:UC知道 时间:2024/06/09 05:23:53
我用vb2005写一个网站自动注册程序

代码如下

Dim i As Integer = 1
Me.WebBrowser1.Document.All("uname").SetAttribute("value", Me.TextBox1.Text & i)
Me.WebBrowser1.Document.All("passwd").SetAttribute("value", Me.TextBox2.Text)
Me.WebBrowser1.Document.All("passwd1").SetAttribute("value", Me.TextBox2.Text)
Me.WebBrowser1.Document.All("email").SetAttribute("value", Me.TextBox3.Text & i & "@ximen.com")
Me.WebBrowser1.Document.All("Submit").InvokeMember("click")
i=i+1

是写在timer控件的 每1秒钟循环一次。高手解释一下错误出在什么地方?要求第二次注册的时候用户名i值递增1 email地址地址1以保证不重复。

应该用什么语句返回循环?详细代码是什么?急等。。。

你定义的i的值.每次运行一次.那么i就回到1.然后重新加1.所以i一直是2.
建议你把i写到外面去.
比如:
Dim i As Integer
Private Sub Form_Load()
i = 1
End Sub
Private Sub Timer1_Timer()
i = i + 1
Print i
End Sub
这样.i就一直是+1了

第二个.网速问题.
其实只要对方不限定一个E-mail只能注册一个号.那么第一个问题可以忽略.
但是第二个问题总是存在的.
当你第一次自动填表了.可是网速还没返回到注册页面.
那么就找不到相关的uname,passwd等等.
那么如何实现自动填充?
所以我建议你时间间隔需要该一下.

Dim i As Integer
Private Sub Form_Load()
Timer1.Interval = 8000 ' 设定每8秒注册一个号.防止网页没来得及加载到注册页面
i = 1 '给i个初始值
End Sub

最后在时间控件里面写上
On Error Resume Next '防止网页打不开.不然会提示错误.
Me.WebBrowser1.Document.All("uname").SetAttribute("value", Me.TextBox1.Text & i)
Me.WebBrowser1.Document.All("passwd").SetAttribute("value", Me.TextBox2.Text)
Me.WebBrowser1.Document.All("passwd1").SetAttribute("value", Me.TextBox2.Text)
Me.WebBrowser1.Document.All("