Esperar hasta poder ejecutar
Publicado por Fernando (14 intervenciones) el 08/11/2019 06:58:15
Buenas,
Me he hecho un programilla para iniciar sesión en un juego sin tener que meter el usuario y contraseña manualmente. Os lo pego aquí.
Este programa funciona perfectamente, pero lo que ocurre es que aveces tarda en cargar 7 segundos, otras 6, otras 5 ... por lo que le puse 7 segundos para que funcionara siempre.
Me gustaría cambiarlo de tal manera que introduzca los datos al aparecer la imagen de 'Usuario.png' y no a los 7 segundos. He probado con un while pero no me funciona.
¿Alguna idea?
Me he hecho un programilla para iniciar sesión en un juego sin tener que meter el usuario y contraseña manualmente. Os lo pego aquí.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import webbrowser, os, pyautogui, time
# Abre el wow.
RUTA_CARPETA = "C:/Users/hmh19/Desktop/Wow lich king English/Wow.exe"
webbrowser.open(os.path.realpath(RUTA_CARPETA))
time.sleep(7) # espera 7 ¿segundos?
x, y = pyautogui.locateCenterOnScreen('Usuario.png') # localiza la celda para introducir el nombre de usuario
pyautogui.click(x, y) # hace click
pyautogui.typewrite('MiUsuario') # introduce el nombre de usuario
x, y = pyautogui.locateCenterOnScreen('Contrasena.png')
pyautogui.click(x, y)
pyautogui.typewrite('MiContraseña')
pyautogui.press('enter') # presiona enter
Este programa funciona perfectamente, pero lo que ocurre es que aveces tarda en cargar 7 segundos, otras 6, otras 5 ... por lo que le puse 7 segundos para que funcionara siempre.
Me gustaría cambiarlo de tal manera que introduzca los datos al aparecer la imagen de 'Usuario.png' y no a los 7 segundos. He probado con un while pero no me funciona.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import webbrowser, os, pyautogui
RUTA_CARPETA = "C:/Users/hmh19/Desktop/Wow lich king English/Wow.exe"
webbrowser.open(os.path.realpath(RUTA_CARPETA))
while True:
x, y = pyautogui.locateCenterOnScreen('Usuario.png') # aqui querría que continuara buscando hasta que apareciera en la pantalla, pero se me corta
pyautogui.click(x, y)
pyautogui.typewrite('MiUsuario')
x, y = pyautogui.locateCenterOnScreen('Contrasena.png')
pyautogui.click(x, y)
pyautogui.typewrite('MiContraseña')
pyautogui.press('enter')
¿Alguna idea?
Valora esta pregunta


0