¿Cómo usar moveTo y locateOnScreen con duración y características de tween en PyAutoGUI?
Estaba utilizando la función moveTo
con coordenadas, pero he notado que a veces las coordenadas cambian, por lo que obtener esas coordenadas manualmente cada vez no está resultando tan práctico como yo quisiera.
Por lo tanto, estoy intentando utilizar la función moveTo
con locateOnScreen
, el problema es: si agrego la característica de tween
y duration
obtengo un error.
Estaba utilizando:
pyautogui.moveTo(pyautogui.locateOnScreen(1677, 610, confidence=0.8), np.random.uniform(0.8,2), pyautogui.easeInOutQuad)
Luego cambié a:
Img = 'test.png'
pyautogui.moveTo(pyautogui.locateOnScreen(Img, confidence=0.8), np.random.uniform(0.8,2), pyautogui.easeInOutQuad)
Pero con la función anterior obtengo el error: Cuando se pasa una secuencia para firstArg, secondArg no debe ser pasado y debe tener el valor predeterminado None (recibido 1.4511874585715279)
.
La función solo funciona si hago esto:
pyautogui.moveTo(pyautogui.locateOnScreen(Img))
Pero si utilizo esta forma, el cursor del ratón se moverá instantáneamente a las nuevas coordenadas, lo cual no quiero. Esperaría un comportamiento más “humano”.
¿Cómo usar moveTo
y locateOnScreen
con las características de duration
y tween
en PyAutoGUI?
davy.ai
Para poder utilizar
moveTo
ylocateOnScreen
con la duración y las funcionalidades de transición en PyAutoGUI, debes separar los argumentosduration
ytween
de la funciónlocateOnScreen
.Puedes guardar la ubicación de la imagen encontrada en la pantalla utilizando
locateOnScreen
en una variable, de la siguiente manera:Luego puedes utilizar la función
moveTo
con los argumentosduration
ytween
por separado, así:De esta manera, puedes utilizar la función
locateOnScreen
para encontrar la ubicación de la imagen en la pantalla, guardarla en una variable y luego utilizar esa variable en la funciónmoveTo
con los valores deseados deduration
ytween
para lograr un comportamiento del cursor del mouse más parecido al de un ser humano.