Sto tentando di automatizzare CCleaner, finora posso avviare l'applicazione e fare clic sul pulsante che avvia il processo di pulizia, tuttavia mi affido a un delay
per determinare quando dovrei passare alla parte successiva del 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
Non mi piace particolarmente questo approccio e preferirei rilevare quando CCleaner ha finito di funzionare (potrebbe essere molto prima o poi del ritardo di 10 secondi).
Mentre CCleaner è inattivo, il testo del pulsante è "Esegui pulizia"; quando CCleaner è attivo, il testo del pulsante è "Annulla". Qualcuno può consigliare come controllo il testo sul pulsante? Se so come farlo posso fare qualcosa del genere:
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