У меня есть сценарий в Visual Basic, который, похоже, не может заставить его повторять/цитировать. Я хочу, чтобы сценарий повторялся после нажатия на указанную переменную, а затем обновление страницы. Затем страница обновляется, а тики - 0, но затем я хочу, чтобы сценарий повторялся снова (INFINITE). Вот сценарий я имею дело с:Бесконечный LOOP/повторный скрипт?
Private Sub Timer1_Tick(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Timer1.Tick
If Not number_of_ticks > 100 Then
number_of_ticks += 1
WebBrowser1.Document.GetElementById("claimIt").InvokeMember("Click")
Else
'number_of_ticks has exceed the maximum amount of allowed ticks
Timer1.Enabled = False
WebBrowser1.Refresh()
number_of_ticks = 0
End If
End Sub
, но когда я пытаюсь сделать LOOP, он не работает, программа перестает отвечать на запросы:
Private Sub Timer1_Tick(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Timer1.Tick
Do
If Not number_of_ticks > 100 Then
number_of_ticks += 1
WebBrowser1.Document.GetElementById("claimIt").InvokeMember("Click")
Else
'number_of_ticks has exceed the maximum amount of allowed ticks
Timer1.Enabled = False
WebBrowser1.Refresh()
number_of_ticks = 0
End If
Loop
End Sub
Я не знаю, почему это происходит, любая помощь?
Ahh, я думал, что это работало бы, но есть проблема: http://gyazo.com/2a6935adecafffe3f4628fe899c7cd28 и то, что я думаю, что эта проблема означает, он пытается вернуться к нажатию, прежде чем страница будет полностью обновлена. Поэтому я думаю, что мне нужно установить IF WebBrowser Loaded THEN, чтобы включить Timer1, но я довольно новичок в VB, и мне было интересно, как я могу ввести IF в IF? –
@JackC. - Я не много сделал с контролем браузера, поэтому мое редактирование может не сработать для вас. Флаг 'IsBusy' сообщает, что браузер по-прежнему загружает файл и может быть что-то использовать здесь в качестве проверки. Я добавил чек для 'IsBusy' в первый оператор' If'. –
Спасибо за помощь помощник :) –