Скриптинг. Эмуляция физического взаимодействия (click, swipe и тд)

Закрыто
Admin
Главный админ
Сообщения: 214
Зарегистрирован: 28 окт 2021 14:01

Скриптинг. Эмуляция физического взаимодействия (click, swipe и тд)

Сообщение Admin »

Предыдущая статья: Поиск ошибок в скриптах. Журнал отладки


Автокликер Perfect Click поддерживает следующий список эмулируемых действий:
  • Нажатия с возможностью задать длительность удержания нажатия.
  • Свайпы.
  • Свайпы, с удержанием “пальца” на экране после свайпа (Android 8+).
  • Рисование непрерывной ломаной линии.

Нажатия

Код: Выделить всё

void click(int x, int y);
void click(Point point);
Выполняет нажатие по указанным координатам либо точке длительностью 10 мс.

Код: Выделить всё

void clickRand(int x, int y, int offset);
void cliclickRand(Point point, int offset);
Выполняет нажатие по указанным координатам со случайным (-offset; +offset) смещением в случайном направлении, относительно указанной вами точки.

Код: Выделить всё

void press(int x, int y, int duration);
void press(Point point, int duration);
То же самое, что и обычное нажатие, но с возможностью задать длительность нажатия.

Пример:

Код: Выделить всё

//Обычное нажатие
click(0, 0);
//Длительное нажатие
press(0, 0, 1000);

Свайпы

Код: Выделить всё

void swipe(int fromX, int fromY, int toX, int toY);
void swipe(Point from, Point to);
Выполняет смахивание по экрану из координаты (fromX, fromY) в координату (toX, toY) за 50 мс.

Код: Выделить всё

void swipe(int fromX, int fromY, int toX, int toY, int duration);
void swipe(Point from, Point to, int duration);
Выполняет смахивание по экрану за указанное время.

Пример:

Код: Выделить всё

//Быстрый свайп
swipe(0, 0, 10, 20);
//Медленный свайп
swipe(0, 0, 10, 20, 1000);

Код: Выделить всё

void swipeAndHold(int x1, int y1, int x2, int y2, int duration);
void swipeAndHold(Point pFrom, Point pTo, int duration);
То же самое что и swipe за исключением того, что “палец” не будет отпущен, после выполнения жеста.
(Функция поддерживается только на Android 8+)

Пример:

Код: Выделить всё

swipeAndHold(100, 0, 100, 100, 2000);
sleep(5000);
Этот фрагмент кода заставит автокликер провести по экрану из точки [100, 0] в точку [100, 100] за 2 секунды и перейти в режим сна, не отпуская “палец” ещё 5 секунд. После чего скрипт продолжит свое выполнение.


Сложные фигуры

Код: Выделить всё

void swipe(Point[]points, int duration);
Позволяет нарисовать фигуру, состоящую из прямых отрезков, не отрывая палец от экрана. Может быть крайне полезна, когда необходимо эмулировать круговые движения пальцем. points это массив точек, первая из которых, указывает на точку начала жеста. duration - время в милисекундах, за которое будет выполнен жест.

Пример:

Код: Выделить всё

Point[] points = {Point.get(100, 0), 
   Point.get(100, 1000), 
   Point.get(100, 0)};
   
swipe(points, 2000);
Если запустить этот скрипт в автокликере, он откроет и закроет “шторку” смартфона за 2 секунды.


Касание двумя пальцами

Код: Выделить всё

void swipe(Point[]finger1, Point[]finger2, int duration);
Пример:

Код: Выделить всё

Point[] finger1 = 
{
 Point.get(395,1336), 
 Point.get(309,1246), 
 Point.get(76,1410)
};

Point[] finger2 = 
{
 Point.get(596,1218),
 Point.get(837,1211),
 Point.get(1010,1304)
};

swipe(finger1, finger2, 3000);
Следующая статья: Получение и обработка изображения с экрана
Закрыто