Моделировать движение курсора от X,Y до X,Y

Мне нужно переместить курсор мыши из координат (800 300) в (100 600) с видимым движением курсора. Как я могу это сделать? (Мне нужно только имитировать движение - я получаю положение мыши с помощью модуля автопилота)

1 ответ

Решение

Непосредственно из документов:

import autopy

autopy.mouse.move(800, 300)
autopy.mouse.smooth_move(100, 600)

Сначала он перемещается в локацию, а затем линейно перемещает мышь во вторую локацию. С помощью комбинации пауз вы можете использовать autopy.mouse.move двигаться так медленно или так быстро, как вы хотите.

Редактировать по запросу: для более точного контроля над smooth_move Вы можете установить положение мыши самостоятельно. Здесь я установил total_time как 5.00 секунд, но вы можете изменить это так быстро, как вам нравится.

from __future__ import division
import autopy
import time

x0, y0 = 800, 300
xf, yf = 100, 600

total_time = 5.00  # in seconds
draw_steps = 1000  # total times to update cursor

dx = (xf-x0)/draw_steps
dy = (yf-y0)/draw_steps
dt = total_time/draw_steps

for n in xrange(draw_steps):
    x = int(x0+dx*n)
    y = int(y0+dy*n)
    autopy.mouse.move(x,y)
    time.sleep(dt)
Другие вопросы по тегам