Estoy intentando automatizar CCleaner, hasta ahora puedo iniciar la aplicación y hacer clic en el botón que inicia el trabajo de limpieza. Sin embargo, confío en un delay
para determinar cuándo debo pasar a la siguiente parte de la script.
tell application "/Applications/CCleaner.app" to activate
tell application "System Events"
tell application process "CCleaner"
click button "Run Cleaner" of window 1
delay 10
end tell
end tell
No me gusta este enfoque en particular y preferiría detectar cuando CCleaner haya terminado de ejecutarse (puede ser mucho antes o después de la demora de 10 segundos).
Mientras CCleaner está inactivo, el texto del botón es "Ejecutar limpiador"; cuando CCleaner está activo, el texto del botón es "Cancelar". ¿Alguien puede aconsejar cómo verifico el texto en el botón? Si sé cómo hacer eso, puedo hacer algo como esto:
tell application "/Applications/CCleaner.app" to activate
tell application "System Events"
tell application process "CCleaner"
click button "Run Cleaner" of window 1
delay 10
end tell
end tell
repeat
# ?
# ? if button text is "Run Cleaner" then exit repeat
# ?
delay 1
end repeat
# do more stuff