因此,我最近创建了一个脚本,可以登录各种网站,例如Twitter,Xbox,YouTube,并检查“用户名”何时免费。大多数这些社交网络服务经过这么长时间,删除非活动帐户并允许这些帐户被声明。因此,具有用户名“John391”的用户可以获得用户名“John”,只要它处于非活动状态,然后网络就会释放它。所以我的脚本登录到这些网站,并允许您输入您想要的用户名的文本框,然后单击提交。该程序不断尝试在可用时声明它。但是,我想使用带有列表的记事本,而不是使用文本框,所以像这样:
John
Achilles
Richard
Logan
所以在它试图宣称约翰(如果约翰仍然不在)之后,它会转到阿基里斯,依此类推。所以这是我的脚本到目前为止,我有一个计时器,以及一个完成大部分工作的按钮。计时器用于不断检查文本框值中的内容,而按钮只是启动进程。我还必须提一下,当我第一次开始这样做时,我的程序继续超时,我发现修复它的唯一方法是暂停声明并刷新页面,但这很好。无论如何,让我解释一下我的剧本:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If Not number_of_ticks > NumericUpDown1.Value Then
number_of_ticks += 1
If ((WebBrowser1.IsBusy)) Then
Else
If WebBrowser1.Url.ToString = "https://live.xbox.com/en-US/ChangeGamertag" Then
WebBrowser1.Document.GetElementById("NewGamertag").SetAttribute("value", txtTurbo.Text)
WebBrowser1.Document.GetElementById("claimIt").InvokeMember("Click")
Else
WebBrowser1.Navigate("https://live.xbox.com/en-US/ChangeGamertag")
End If
End If
Else
'number_of_ticks has exceed the maximum amount of allowed ticks
Timer1.Enabled = False
WebBrowser1.Refresh()
number_of_ticks = 0
Timer1.Enabled = True
End If
End Sub
正如您在此处看到的那样,它会检查number_of_ticks以确定页面何时应该刷新。这是由使用该程序的人设定的。通常它是250,所以它试图声称直到250,然后刷新。它还有一些保护,我注意到如果它试图在页面没有加载时声明它会使程序无响应,所以我抛出了几个if语句来修复它。当然,按钮只是启用定时器工作的命令。其他一些小功能。
现在,我正在尝试做的是,而不是使用文本框txtTurbo来允许一遍又一遍地声称,我希望记事本能够列出要声明的内容。所以我理解这个的价值会以某种方式改变:
WebBrowser1.Document.GetElementById("NewGamertag").SetAttribute("value", txtTurbo.Text)
它将被用于流式传输记事本/文本文件以读取要声明的文件,并且在每次声明之后它应该更改为记事本/文本文件的下一行。但是,我没有阅读文本文件的经验,直到大约一个月前我才知道这是可能的。我想知道是否有人能引导我朝着正确的方向前进?
答案 0 :(得分:0)
如果您尝试从文本文件中读取,这是一个很好的方法。我创建了4个不同的字符串(val1-4),并且读取了我制作的测试文本文件中的所有行(Testt.txt)。然后将文本文件的值分配给相应的字符串
Dim val1 As String
Dim val2 As String
Dim val3 As String
Dim val4 As String
Dim lines = System.IO.File.ReadAllLines("C:/testt.txt")
val1 = lines(0)
val2 = lines(1)
val3 = lines(2)
val4 = lines(3)
在你的情况下,val1将等于 John ,val2将等于 Achilles ,依此类推......