Перемещение курсора


Для симуляции передвижения мыши существую два основных метода mouse.move(dx,dy) и mouse.moveTo(x,y).
Метод move перемещает курсор относительно текущего положения курсора, то есть, по относительным координатам. Запустите следующий код и обратите внимание на начальное положение курсора и в каком направлении он движется. Параметры могут быть как положительные так и отрицательные. Если параметр отрицательный, то это указывает на обратное смещение по оси координат и курсор будет двигаться в обратную сторону.

for(i=0;i<100;i++){
    mouse.move(2,2);
}

Метод moveTo передвигает курсор в указанную точку экрана, то есть, передвигает его в указанные абсолютные координаты, где точка 0,0 это левый верхний угол экрана. Координаты не могут быть больше размера вашего монитора или меньше нуля.

for(i=0;i<100;i++){
    mouse.moveTo(i,i);
}

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


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


mouse.moveTo(0,0);// переместить курсор в точку 0,0 
mouse.press('LEFT');// нажать левую кнопку мыши
mouse.release('LEFT');// отпустить левую кнопку мыши

// аналогично
mouse.moveTo(0,0);
mouse.click('LEFT');

// аналогично
mouse.clickAt('LEFT',0,0);


mouse.move(10,10);// передвинуть курсор на 10 пикселей вниз и вправо
mouse.press('LEFT');// нажать левую кнопку мыши
mouse.release('LEFT');// отпустить левую кнопку мыши

// аналогично
mouse.move(10,10);
mouse.click('LEFT');
        
// аналогично
mouse.moveAndClick('LEFT',10,10);