Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: d2_bot on November 29, 2020, 08:07:46 PM
-
Помогите пожалуйста, есть скрипт с циклами, нужно чтобы этот скрипт выполнялся одновременно в 15 вкладках браузера.
FOR($a=0,$a<17)
WAIT(8)
move(543,254)
waitms(500)
LCLICK(543,254)
END_CYC
//////////////////////////////////
FOR($b=0,$b<4)
WAIT(8)
move(541,320)
waitms(500)
LCLICK(541,320)
END_CYC
//////////////////////////////////
FOR($c=0,$c<27)
WAIT(8)
move(543,254)
waitms(500)
LCLICK(543,254)
END_CYC
//////////////////////////////////
FOR($d=0,$d<1)
WAIT(8)
move(553,286)
waitms(500)
LCLICK(553,286)
END_CYC
//////////////////////////////////
FOR($e=0,$e<16)
WAIT(8)
move(541,320)
waitms(500)
LCLICK(541,320)
END_CYC
Так вот нужно чтобы каждый клик внутри каждого цикла делался сначала в 1 вкладке, потом во второй, в третьей и т.д. Встал в тупик
-
ctrl+pagedown - переключиться на следующую вкладку.
ctrl+1 - вернуться на первую вкладку.
Может в разных браузерах по другому, незнаю....
FOR($a=0,$a<17)
WAIT(1)
KEYDOWN (#CTRL) //переключение вкладок по порядку
WAITMS (50)
KEYPRESS (#PAGEDOWN)
KEYUP (#CTRL)
END_CYC
WAIT(1)
KEYDOWN (#CTRL) //вернуться на первую вкладку
WAITMS (50)
KEYPRESS (#1)
KEYUP (#CTRL)
halt
-
Благодарю за отклик, переход по вкладкам мышкой или клавишей в принципе не важно.
Но только как это сделать в рамках цикла, к примеру в самом первом цикле 17 кликов с паузой. Нужно чтобы в одной вкладке сделался 1 клик, потом в другой, потом в третьей и это было 1 проходом кликов, в общем чтобы когда пройдет по всем вкладкам был засчитан 1 клик из 17) . И так со всеми действиями в скрипте. Получается что нужно добавить по доп циклу к каждой группе действий или действию? В начальном примере только действия в одной вкладке, без переходов по другим, извиняюсь затупил...сейчас смотрю выходит что белеберду написал я сам)
-
Ну так я же пример выше показал. У тебя первый цикл будет выглядеть так:
FOR($a=0,$a<17)
//это твой клик
WAIT(8)
move(543,254)
waitms(500)
LCLICK(543,254)
WAIT(1)
KEYDOWN (#CTRL) //переключение вкладок по порядку до семнадцатой.
WAITMS (50)
KEYPRESS (#PAGEDOWN)
KEYUP (#CTRL)
END_CYC
WAIT(1)
KEYDOWN (#CTRL) //вернуться на первую вкладку если надо.
WAITMS (50)
KEYPRESS (#1)
KEYUP (#CTRL)
halt
-
Спасибо теперь понял))
-
Ну так я же пример выше показал. У тебя первый цикл будет выглядеть так:
FOR($a=0,$a<17)
//это твой клик
WAIT(8)
move(543,254)
waitms(500)
LCLICK(543,254)
WAIT(1)
KEYDOWN (#CTRL) //переключение вкладок по порядку до семнадцатой.
WAITMS (50)
KEYPRESS (#PAGEDOWN)
KEYUP (#CTRL)
END_CYC
WAIT(1)
KEYDOWN (#CTRL) //вернуться на первую вкладку если надо.
WAITMS (50)
KEYPRESS (#1)
KEYUP (#CTRL)
halt
Все таки казалось что можно будет уменьшить код.. вот так получается
FOR($a=0,$a<30)
WAIT(1)
move(510,336)
waitms(500)
LCLICK(510,336)
WAIT(1)
KEYDOWN (#CTRL) //переключение вкладок по порядку 1
WAITMS (50)
KEYPRESS (#TAB)
waitms(50)
KEYUP (#CTRL)
WAIT(1)
move(510,336)
waitms(500)
LCLICK(510,336)
WAIT(1)
KEYDOWN (#CTRL) //переключение вкладок по порядку 2
WAITMS (50)
KEYPRESS (#TAB)
waitms(50)
KEYUP (#CTRL)
WAIT(1)
move(510,336)
waitms(500)
LCLICK(510,336)
WAIT(1)
KEYDOWN (#CTRL) //переключение вкладок по порядку 3
WAITMS (50)
KEYPRESS (#TAB)
waitms(50)
KEYUP (#CTRL)
WAIT(1)
move(510,336)
waitms(500)
LCLICK(510,336)
WAIT(1)
KEYDOWN (#CTRL) //переключение вкладок по порядку 4
WAITMS (50)
KEYPRESS (#TAB)
waitms(50)
KEYUP (#CTRL)
END_CYC
//////////////////////////////////
WAIT(8)
move(541,320)
waitms(500)
LCLICK(477,322)
WAIT(1)
KEYDOWN (#CTRL) //переключение вкладок по порядку 1
WAITMS (50)
KEYPRESS (#TAB)
waitms(50)
KEYUP (#CTRL)
WAIT(8)
move(541,320)
waitms(500)
LCLICK(477,322)
WAIT(1)
KEYDOWN (#CTRL) //переключение вкладок по порядку 2
WAITMS (50)
KEYPRESS (#TAB)
waitms(50)
KEYUP (#CTRL)
WAIT(8)
move(541,320)
waitms(500)
LCLICK(477,322)
WAIT(1)
KEYDOWN (#CTRL) //переключение вкладок по порядку 3
WAITMS (50)
KEYPRESS (#TAB)
waitms(50)
KEYUP (#CTRL)
halt
-
.. вот так получается
Интересно получается. Код не имеет с первоначальным ничего общего.
Если сделать первоначальный как ты хотел, то так:
$tabs = 15
SUB(next_tab) // переключение вкладки
WAIT(1)
KEYDOWN(#CTRL)
WAITMS(50)
KEYPRESS(#PAGEDOWN)
KEYUP(#CTRL)
END_SUB
FOR($a=0, $a < 17) // 17 кликов в $tabs вкладках
FOR($tab=0, $tab < $tabs)
WAIT(8)
MOVE(543,254)
WAITMS(500)
LCLICK(543,254)
next_tab()
END_CYC
END_CYC
//////////////////////////////////
FOR($b=0, $b < 4)
FOR($tab=0, $tab < $tabs)
WAIT(8)
move(541,320)
waitms(500)
LCLICK(541,320)
next_tab()
END_CYC
END_CYC
//////////////////////////////////
FOR($c=0,$c < 27)
FOR($tab=0, $tab < $tabs)
WAIT(8)
move(543,254)
waitms(500)
LCLICK(543,254)
next_tab()
END_CYC
END_CYC
//////////////////////////////////
FOR($d=0, $d < 1) // нафига цикл на 1 раз? Допустим, что количество может измениться
FOR($tab=0, $tab < $tabs)
WAIT(8)
move(553,286)
waitms(500)
LCLICK(553,286)
next_tab()
END_CYC
END_CYC
//////////////////////////////////
FOR($e=0, $e < 16)
FOR($tab=0, $tab < $tabs)
WAIT(8)
move(541,320)
waitms(500)
LCLICK(541,320)
next_tab()
END_CYC
END_CYC
Или то же самое, но ещё короче, но всё ещё структурно
$tabs = 15
SUB(next_tab) // переключение вкладки
WAIT(1)
KEYDOWN(#CTRL)
WAITMS(50)
KEYPRESS(#PAGEDOWN)
KEYUP(#CTRL)
END_SUB
SUB(click_all_tabs, $cat_num, $catx, $caty)
FOR($at=0, $at < $cat_num)
FOR($tab=0, $tab < $tabs)
WAIT(8)
MOVE($catx, $caty)
WAITMS(500)
LCLICK($catx, $caty)
next_tab()
END_CYC
END_CYC
END_SUB
click_all_tabs(17, 543, 254)
click_all_tabs( 4, 541, 320)
click_all_tabs(27, 543, 254)
click_all_tabs( 1, 553, 286)
click_all_tabs(16, 541, 320)
-
Очень мощно, код огонь, заигрался так что аж забыл зайти на форум сказать спасибо dramster и vint
FOR($d=0, $d < 1) // нафига цикл на 1 раз? Допустим, что количество может измениться
Усвоил, там достаточно цикла подпрограммы..))
....Офигеть, даже не верится что уже немного начал понимать код, с каждым годом лучше и лучше, все благодаря завсегдатым форума, которые постоянно оказывают квалифицированную поддержку для начинающих, любителей и профессионалов на высшем уровне! Все эти знания публичны и доступны любому желающему - это великие дела!
Самый нижний код не попробовал еще пока сложноват для освоения, вернусь к нему через время)