J'essaie d'automatiser CCleaner. Jusqu'à présent, je peux démarrer l'application et cliquer sur le bouton qui lance le travail de nettoyage. Toutefois, je m'appuie sur delay
pour déterminer le moment où je devrais passer à la partie suivante du 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
Je n'aime pas particulièrement cette approche et préférerais détecter le moment où CCleaner est terminé (cela peut être beaucoup plus tôt ou plus tard que le délai de 10 secondes).
Lorsque CCleaner est inactif, le texte du bouton est "Run Cleaner"; lorsque CCleaner est actif, le texte du bouton est "Annuler". Quelqu'un peut-il me dire comment vérifier le texte sur le bouton? Si je sais comment faire cela, je peux faire quelque chose comme ceci:
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