1 (изменено: Immelstrong1, 2025-01-21 18:23:16)

Тема: AHK: Не могу запустить цикл

Написал скрипт, который должен проходить некую анкету-опрос.
Он работает.
Но не могу заставить его постоянно повторяться.
Приходится постоянно нажимать клавишу запуска.
Помогите решить пожалуйста.

F1::	
	{
	loop	
		{	
		
			Run, "https://tacinadmsh.rnd.muzkult.ru/"
			Sleep 5000
			{
				Send {Click 873, 830}
				Title = МБУ ДО «Тацинская ДМШ» | Новости - Google Chrome
				Ahk_class = Chrome_WidgetWin_1
				Control = Chrome_RenderWidgetHostHWND1
				Sleep 5000
			}
			{
				Send {Click 611, 556}
				Title = Удовлетворенность граждан работой государственных и муниципальных организаций культуры, искусства и народного творчества - Google Chrome
				Ahk_class = Chrome_WidgetWin_1
				Control = Chrome_RenderWidgetHostHWND1
				Sleep 3000
			}
			{
				Send {Click 630, 229}
					Random, randTime, 5000, 10000 ; генерируем случайное время от 5 до 10 секунд
						Sleep, %randTime%
				Send {Click 630, 250}
				sendinput, Ростовская область
					Random, randTime, 5000, 6000 ; 
						Sleep, %randTime%
				Send {Click 630, 268}Вставляет Ростовскую область
				Send {Click 630, 413}Детская школа искусств
					Random, randTime, 6000, 10000 ; 
						Sleep, %randTime%
				x := ["635", "635"]
				y := ["465", "485"]
				Random, value, 1, 2
				MouseClick, Left, x[value], y[value], 1, 0
					Random, randTime, 5000, 7000 ; 
						Sleep, %randTime% 
				x := ["640", "640", "640", "640", "640"]
				y := ["580", "600", "615", "632", "646"]
				Random, value, 1, 5
				MouseClick, Left, x[value], y[value], 1, 0
					Random, randTime, 10000, 12000 ; 
						Sleep, %randTime%
				Send {Click 670, 695} Полностью удовлетворен
					Random, randTime, 10000, 15000 ; генерируем случайное время от 1 до 5 секунд
						Sleep, %randTime%
				Send {Click 670, 792} Далее
					Random, randTime, 15000, 20000 ;
						Sleep, %randTime%
				Send {Click 790, 440} 
					Random, randTime, 5000, 7000 ;
						Sleep, %randTime%
				Send {Click 790, 455}
					Random, randTime, 5000, 7000 ;
						Sleep, %randTime%
				Send {Click 790, 480}
					Random, randTime, 5000, 7000 ;
						Sleep, %randTime%
				Send {Click 790, 510}
					Random, randTime, 5000, 7000 ;
						Sleep, %randTime%
				Send {Click 790, 535}
					Random, randTime, 5000, 8000 ;
						Sleep, %randTime%
				Send {Click 790, 555}
					Random, randTime, 4000, 7000 ;
						Sleep, %randTime%
				Send {Click 790, 590}
					Random, randTime, 5000, 7000 ;
						Sleep, %randTime%
				Send {Click 790, 620}
					Random, randTime, 6000, 8000 ;
						Sleep, %randTime%	
				Send {Click 666, 650} Далее
					Random, randTime, 15000, 20000 ;
						Sleep, %randTime%
				Send {Click 650, 300} Как часто посещаете
					Random, randTime, 10000, 12000 ;
						Sleep, %randTime%	
				Send {Click 650, 456} 
					Random, randTime, 5000, 10000 ;
						Sleep, %randTime%
				Send {Click 650, 471} 
					Random, randTime, 7000, 10000 ;
						Sleep, %randTime%
				Send {Click 650, 442} 
					Random, randTime, 7000, 10000 ;
						Sleep, %randTime%
				Send {Click 650, 587} 
					Random, randTime, 6000, 9000 ;
						Sleep, %randTime%
				Send {Click 670, 723} Далее
					Random, randTime, 15000, 20000 ;
						Sleep, %randTime%
				x := ["640", "640", "640", "640", "640"] ;  Образование
				y := ["216", "235", "253", "272", "293"]
				Random, value, 1, 5
				MouseClick, Left, x[value], y[value], 1, 0
					Random, randTime, 10000, 15000 ; генерируем случайное время от 1 до 5 секунд
						Sleep, %randTime%
				x := ["640", "640", "640", "640"] ; Профессия
				y := ["345", "365", "405", "425"]
				Random, value, 1, 4
				MouseClick, Left, x[value], y[value], 1, 0
					Random, randTime, 10000, 12000 ; 
						Sleep, %randTime%
				Title = Удовлетворенность граждан работой государственных и муниципальных организаций культуры, искусства и народного творчества - Google Chrome
				Ahk_class = Chrome_WidgetWin_1
				Control = Chrome_RenderWidgetHostHWND1
				x := ["645", "645"] ; Достаток
				y := ["540", "565"]
				Random, value, 1, 2
				MouseClick, Left, x[value], y[value], 1, 0
					Random, randTime, 10000, 12000 ; 
						Sleep, %randTime%
				x := ["645", "645", "645"] ; Сколько живу
				y := ["720", "738", "755"]
				Random, value, 1, 3
				MouseClick, Left, x[value], y[value], 1, 0
					Random, randTime, 20000, 22000 ; 
						Sleep, %randTime%
				Send {Click 675, 837} Завершить
					Random, randTime, 20000, 25000 ;
						Sleep, %randTime%
				Title = Удовлетворенность граждан работой государственных и муниципальных организаций культуры, искусства и народного творчества - Google Chrome
				Ahk_class = Chrome_WidgetWin_1
				Control = Chrome_RenderWidgetHostHWND1
			}
			F2:: Pause, On
			F3:: Pause, Off
		}	
	}	

2

Re: AHK: Не могу запустить цикл

После горячей клавиши и после Sleep скобки не ставятся. Горячие клавиши внутри цикла не объявляются. Строки одного уровня вложенности должны иметь одинаковый отступ. Числа в кавычки не берутся.

Immelstrong1 пишет:
Random, randTime, 10000, 15000 ; генерируем случайное время от 1 до 5 секунд

В нулях запутались, это от 10 до 15 секунд.
Вообще код говорит о том, что вам бы пока не стоило писать скрипты больше 5 строк.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3 (изменено: Immelstrong1, 2025-01-22 01:03:25)

Re: AHK: Не могу запустить цикл

teadrinker

В нулях запутались, это от 10 до 15 секунд.

Это просто пометку забыл удалить.

Горячие клавиши внутри цикла не объявляются.

Это Вы про паузу? Переделал.

Строки одного уровня вложенности должны иметь одинаковый отступ.

Переделал. А это влияет на работоспособность скрипта, или просто правило написания? А то я просто разные отступы делал для удобства собственного восприятия.

Числа в кавычки не берутся.

Какие? Координатные вот эти?


x := ["640", "640", "640", "640", "640"]
y := ["580", "600", "615", "632", "646"]

Это я как нашел в гугле, так и скопировал. Вроде работает, но переделаю если вы про них.

Вообще код говорит о том, что вам бы пока не стоило писать скрипты больше 5 строк.

Полностью согласен. Но лень вручную было его проходить много раз, вот и решил поэкспериментировать. Это я еще первоначальный вариант не показал. :-)

Вот так получилось. Правильно? Координаты пока не трогал, так как не уверен что вы про них говорили.


	F1::	
		loop	
			{	
			Run, "https://tacinadmsh.rnd.muzkult.ru/"
			Sleep 5000
			Send {Click 873, 830}
			Title = МБУ ДО «Тацинская ДМШ» | Новости - Google Chrome
			Ahk_class = Chrome_WidgetWin_1
			Control = Chrome_RenderWidgetHostHWND1
			Sleep 5000
			Send {Click 611, 556}
			Sleep 3000
			Send {Click 630, 229}
			Random, randTime, 5000, 10000 ; генерируем случайное время от 5 до 10 секунд
			Sleep, %randTime%
			Send {Click 630, 250}
			sendinput, Ростовская область
			Random, randTime, 5000, 6000 ; 
			Sleep, %randTime%
			Send {Click 630, 268}Вставляет Ростовскую область
			Send {Click 630, 413}Детская школа искусств
			Random, randTime, 6000, 10000 ; 
			Sleep, %randTime%
			x := ["635", "635"]
			y := ["465", "485"]
			Random, value, 1, 2
			MouseClick, Left, x[value], y[value], 1, 0
			Random, randTime, 5000, 7000 ; 
			Sleep, %randTime% 
			x := ["640", "640", "640", "640", "640"]
			y := ["580", "600", "615", "632", "646"]
			Random, value, 1, 5
			MouseClick, Left, x[value], y[value], 1, 0
			Random, randTime, 10000, 12000 ; 
			Sleep, %randTime%
			Send {Click 670, 695} Полностью удовлетворен
			Random, randTime, 10000, 15000 ;
			Sleep, %randTime%
			Send {Click 670, 792} Далее
			Random, randTime, 15000, 20000 ;
			Sleep, %randTime%
			Send {Click 790, 440} 
			Random, randTime, 5000, 7000 ;
			Sleep, %randTime%
			Send {Click 790, 455}
			Random, randTime, 5000, 7000 ;
			Sleep, %randTime%
			Send {Click 790, 480}
			Random, randTime, 5000, 7000 ;
			Sleep, %randTime%
			Send {Click 790, 510}
			Random, randTime, 5000, 7000 ;
			Sleep, %randTime%
			Send {Click 790, 535}
			Random, randTime, 5000, 8000 ;
			Sleep, %randTime%
			Send {Click 790, 555}
			Random, randTime, 4000, 7000 ;
			Sleep, %randTime%
			Send {Click 790, 590}
			Random, randTime, 5000, 7000 ;
			Sleep, %randTime%
			Send {Click 790, 620}
			Random, randTime, 6000, 8000 ;
			Sleep, %randTime%	
			Send {Click 666, 650} Далее
			Random, randTime, 15000, 20000 ;
			Sleep, %randTime%
			Send {Click 650, 300} Как часто посещаете
			Random, randTime, 10000, 12000 ;
			Sleep, %randTime%	
			Send {Click 650, 456} 
			Random, randTime, 5000, 10000 ;
			Sleep, %randTime%
			Send {Click 650, 471} 
			Random, randTime, 7000, 10000 ;
			Sleep, %randTime%
			Send {Click 650, 442} 
			Random, randTime, 7000, 10000 ;
			Sleep, %randTime%
			Send {Click 650, 587} 
			Random, randTime, 6000, 9000 ;
			Sleep, %randTime%
			Send {Click 670, 723} Далее
			Random, randTime, 15000, 20000 ;
			Sleep, %randTime%
			x := ["640", "640", "640", "640", "640"] ;  Образование
			y := ["216", "235", "253", "272", "293"]
			Random, value, 1, 5
			MouseClick, Left, x[value], y[value], 1, 0
			Random, randTime, 10000, 15000 ; генерируем случайное время от 1 до 5 секунд
			Sleep, %randTime%
			x := ["640", "640", "640", "640"] ; Профессия
			y := ["345", "365", "405", "425"]
			Random, value, 1, 4
			MouseClick, Left, x[value], y[value], 1, 0
			Random, randTime, 10000, 12000 ; 
			Sleep, %randTime%
			Title = Удовлетворенность граждан работой государственных и муниципальных организаций культуры, искусства и народного творчества - Google Chrome
			Ahk_class = Chrome_WidgetWin_1
			Control = Chrome_RenderWidgetHostHWND1
			x := ["645", "645"] ; Достаток
			y := ["540", "565"]
			Random, value, 1, 2
			MouseClick, Left, x[value], y[value], 1, 0
			Random, randTime, 10000, 12000 ; 
			Sleep, %randTime%
			x := ["645", "645", "645"] ; Сколько живу
			y := ["720", "738", "755"]
			Random, value, 1, 3
			MouseClick, Left, x[value], y[value], 1, 0
			Random, randTime, 20000, 22000 ; 
			Sleep, %randTime%
			Send {Click 675, 837} Завершить
			Random, randTime, 20000, 25000 ;
			Sleep, %randTime%
			Title = Удовлетворенность граждан работой государственных и муниципальных организаций культуры, искусства и народного творчества - Google Chrome
			Ahk_class = Chrome_WidgetWin_1
			Control = Chrome_RenderWidgetHostHWND1
			}
			F2:: Pause, On
			F3:: Pause, Off
			
	

Правда не могу сейчас полностью проверить работоспособность скрипта, т.к. координаты настроены на монитор на работе.

4

Re: AHK: Не могу запустить цикл

Immelstrong1 пишет:

Координатные вот эти?

Они.

Immelstrong1 пишет:

Вот так получилось. Правильно?

Даже не знаю.

Immelstrong1 пишет:
    Title = Удовлетворенность граждан работой государственных и муниципальных организаций культуры, искусства и народного творчества - Google Chrome
    Ahk_class = Chrome_WidgetWin_1
    Control = Chrome_RenderWidgetHostHWND1

А зачем у вас два раза присваиваются одни и те же значения этим переменным, но они нигде не используются?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5 (изменено: Immelstrong1, 2025-01-22 16:06:42)

Re: AHK: Не могу запустить цикл

teadrinker

А зачем у вас два раза присваиваются одни и те же значения этим переменным, но они нигде не используются?

Это что б срабатывали клики в браузере. Без них не работало, хотя может я просто не совсем верные координаты без них указывал. Сейчас проверю.

Проверил. Действительно, просто косячил с координатами.



Строки одного уровня вложенности должны иметь одинаковый отступ.

Это влияет на работоспособность скрипта, или просто правило написания? А то я просто разные отступы делал для удобства собственного восприятия.


Цикл запустился наконец. Спасибо.

6

Re: AHK: Не могу запустить цикл

Immelstrong1 пишет:

Это влияет на работоспособность скрипта, или просто правило написания?

На работоспособность не влияет, но выглядит фриковато, пРиМеРНо ВоТ ТАк.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder