Pyautogui перетащите мышь, чтобы не было постепенного

#python #pyautogui

Вопрос:

Я использую pyautogui, тогда .dragTo() я в основном рисовал квадрат. Верхние левый и правый углы квадрата равны (25, 340) и (450, 340). А нижний левый и правый угол квадрата — [25, 700] и [450, 700]. Вот мой квадратный код:

 pyautogui.dragTo(25, 340, duration=0.5)
pyautogui.dragTo(25, 700, duration=0.5)
pyautogui.dragTo(450, 700, duration=0.5)
pyautogui.dragTo(450, 340, duration=0.5)
 

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

Пожалуйста, дайте мне знать, если вам понадобятся какие-либо дополнительные разъяснения.

Спасибо!

Ответ №1:

В своей программе вы указываете, что для выполнения этого действия потребуется 0,5 секунды. Вы можете уменьшить или увеличить это значение, чтобы создать или удалить эффект перетаскивания. Я также добавил линию, которая перемещает вашу мышь в первую точку квадрата, чтобы не было странных углов.

 # With Extra Drag
# Move mouse with no click
pyautogui.moveTo(450,340)

# pyautogui.dragTo(<co-ordinates x,y>, <duration=How long per movement incrasing or decreasing our drag
pyautogui.dragTo(25, 340, duration=5)
pyautogui.dragTo(25, 700, duration=5)
pyautogui.dragTo(450, 700, duration=5)
pyautogui.dragTo(450, 340, duration=5)
 

Теперь с удаленным перетаскиванием (в основном это все равно займет некоторое время, но увеличится еще больше, и это может быть слишком быстро для вашей программы), как протестировано в MS paint

 pyautogui.moveTo(450,340)

pyautogui.dragTo(25, 340, duration=0.1)
pyautogui.dragTo(25, 700, duration=0.1)
pyautogui.dragTo(450, 700, duration=0.1)
pyautogui.dragTo(450, 340, duration=0.1)
 

Некоторые примеры этого переходного времени (медленного)
Требуется время для перехода

Этот метод также удаляет нечетные углы в вашем коде с помощью pyautogui.moveTo(x,y)

Спросите, есть ли у вас какие-либо проблемы, извините, если это не ваша проблема, вы немного конкретизируете свой вопрос.

Комментарии:

1. Официальная документация для получения дополнительной информации — pyautogui.readthedocs.io/en/latest . Просто спросите, не нужно ли вам что-нибудь еще.