7

I want to simulate an event where I left click on the Windows desktop, I drag the mouse a little to create a Selection box to another point, and then keep holding the left button at that point for some time without the Selection box disappearing.

The problem is, I can't get him to keep the Selection box, whenever he gets to the other point the Selection box disappears indicating that the button has been released.

I tried to implement in Python using PyAutoGUI. I tried several ways to do this but still unsuccessfully. Is there any function I'm missing?

import time
import pyautogui

time.sleep(3)

while True:
    pyautogui.moveTo(1080, 380)
    pyautogui.mouseDown(button='left')
    pyautogui.dragTo(917, 564, 1, button='left')
    time.sleep(10)
    pyautogui.mouseUp(button='left')
    time.sleep(2)
Tomerikoo
  • 18,379
  • 16
  • 47
  • 61
Erick Lopes
  • 71
  • 1
  • 1
  • 3

2 Answers2

8

Simply removing 2 lines of code and changing dragTo() to moveTo() seems to do what you are trying to do:

import time
import pyautogui

time.sleep(3)

while True:
    pyautogui.moveTo(1080, 380)
    pyautogui.mouseDown(button='left')
    pyautogui.moveTo(917, 564, 1)
    time.sleep(10)
Tomerikoo
  • 18,379
  • 16
  • 47
  • 61
Alt
  • 81
  • 1
  • 2
  • I have a similar task but can't solve it with the solution provided by @Alt. I tried it also with `dragTo()` and `drag()`, but the mouse is clicked only for a short while not the whole way it should be kept clicked down. – Irina S. Aug 29 '21 at 16:34
  • 1
    @jason-m Kind of, I finally realized that the problem wasn't pyautogui but the application I wanted to use it with. I wanted to draw something on a picture opened with the Window Photo Viewer. There, it didn't work. With other applications (p.ex. MS Paint) it worked with the solution provided by Alt. – Irina S. Sep 13 '21 at 08:51
  • this worked for this thanks! – RoyalBosS Jan 18 '22 at 12:28
1

This might help you a bit:

pyautogui.moveTo(1277, 127)

pyautogui.dragTo(1277, 225, button='left', duration=5)

(duration is in seconds)

Tomerikoo
  • 18,379
  • 16
  • 47
  • 61