Поэтому я недавно создал скрипт, который регистрируется на различных веб-сайтах, таких как 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
Как видите, здесь таймер проверяет число_тиков, чтобы определить, когда страница должна обновиться. Это также устанавливается тем, кто использует программу. Обычно стоит на 250, поэтому пытается требовать до 250, потом обновляется. У него также есть небольшая защита, я заметил, что программа перестает отвечать на запросы, если она пытается потребовать, когда страница не загружена, поэтому я добавил пару операторов if, чтобы исправить это. И, конечно же, кнопка имеет только команду включения таймера и некоторые другие второстепенные функции.
Теперь то, что я пытаюсь сделать, это вместо того, чтобы использовать Textbox txtTurbo, чтобы разрешить то, что заявлено снова и снова, я хочу, чтобы в блокноте был список того, что нужно требовать. Итак, я понимаю, что значение this будет каким-то образом изменено:
WebBrowser1.Document.GetElementById("NewGamertag").SetAttribute("value", txtTurbo.Text)
И он будет преобразован в потоковый файл блокнота / txt, чтобы прочитать, какие из них заявлять, и после каждого запроса он должен переходить на следующую строку файла блокнота / txt. Однако у меня нет опыта чтения из текстовых файлов, и я не знал, что это возможно, примерно месяц назад. Мне было интересно, может ли кто-нибудь привести меня в правильном направлении?