Dans OS X El Capitan, lorsque vous cliquez sur Effacer l'historique dans le menu Historique, celui-ci s'affiche soit sous la forme d'une boîte de dialogue modale, soit sous la forme d'une feuille focalisée sur une fenêtre, comme l'illustrent les images au bas de cette réponse, ainsi que l'AppleScript code ci-dessous le gère dans les deux cas de figure.
El code est écrit en supposant qu'il apparaît comme une boîte de dialogue. S'il ne parvient pas à se traiter comme une boîte de dialogue, alors l'option on error
manipulateur le traite comme une feuille.
Ce site code directement en dessous, reproduit essentiellement ce que votre code comme dans OS X Yosemite, bien qu'ajusté pour être utilisé dans OS X El Capitan, sans l'option delay
que vous pouvez ajouter si vous le souhaitez.
tell application "Safari" to activate
tell application "System Events"
click menu item "Clear History…" of menu 1 of menu bar item "History" of menu bar 1 of process "Safari"
try
click button "Clear History" of front window of process "Safari"
on error
try
click button "Clear History" of sheet 1 of window 1 of process "Safari"
end try
end try
end tell
Pour interagir avec le liste sur le bouton pop up Effacer, pour savoir quelle partie de l'historique doit être effacée, les éléments suivants sont disponibles code exemple l'aborder.
Parce qu'il peut apparaître de deux façons différentes, il nécessite malheureusement deux ensembles distincts de similaires. code et les deux sections de code entourant la liste "Effacer ..." doit être maintenue manuellement et synchronisée si/quand on utilise cette liste. code segment.
Note : Il y a 10 lignes de code commenté, précédé de --
en ce qui concerne la liste "Clear ...", 5 lignes dans chaque groupement de code . Vous pouvez changer le valeur pour l'un des 4 choix possibles en décommentant l'option click pop up button 1 of window 1 of process "Safari"
y click pop up button 1 of sheet 1 of window 1 of process "Safari"
lignes de code puis 1 seul des 4 autres à la fois, le même dans chaque section. Cela signifie que seulement 4 lignes au total doivent être décommentées, 2 dans chaque section, 1 pour cliquer sur le bouton popup et l'autre pour la partie de l'historique que vous voulez effacer. Les commentaires que j'ai ajoutés, précédés de -- #
dans le cadre de la code devrait être explicite.
tell application "Safari"
activate
end tell
tell application "System Events"
click menu item "Clear History…" of menu 1 of menu bar item "History" of menu bar 1 of process "Safari"
try
-- #
-- # NOTE: Keep this block of commented out code in sync with the similar block below!
-- #
-- # If you want to change the value of the "Clear ..." list, then uncomment the line of code directly below this comment.
-- #
-- click pop up button 1 of window 1 of process "Safari"
-- #
-- # If you've uncommented the line of code directly above this comment, then uncomment only 1 of the 4 lines of code below.
-- #
-- click menu item "the last hour" of menu 1 of pop up button 1 of window 1 of process "Safari"
-- click menu item "today" of menu 1 of pop up button 1 of window 1 of process "Safari"
-- click menu item "today and yesterday" of menu 1 of pop up button 1 of window 1 of process "Safari"
-- click menu item "all history" of menu 1 of pop up button 1 of window 1 of process "Safari"
-- #
click button "Clear History" of front window of process "Safari"
on error
try
-- #
-- # NOTE: Keep this block of commented out code in sync with the similar block above!
-- #
-- # If you want to change the value of the "Clear ..." list, then uncomment the line of code directly below this comment.
-- #
-- click pop up button 1 of sheet 1 of window 1 of process "Safari"
-- #
-- # If you've uncommented the line of code directly above this comment, then uncomment only 1 of the 4 lines of code below.
-- #
-- click menu item "the last hour" of menu 1 of pop up button 1 of sheet 1 of window 1 of process "Safari"
-- click menu item "today" of menu 1 of pop up button 1 of sheet 1 of window 1 of process "Safari"
-- click menu item "today and yesterday" of menu 1 of pop up button 1 of sheet 1 of window 1 of process "Safari"
-- click menu item "all history" of menu 1 of pop up button 1 of sheet 1 of window 1 of process "Safari"
-- #
click button "Clear History" of sheet 1 of window 1 of process "Safari"
end try
end try
end tell
Tel qu'il est codé, ce système fonctionne très rapidement, mais vous pouvez insérer quelques delay
commandes le cas échéant, si vous voulez mieux voir ce qui se passe pendant l'effacement de l'historique.
Dans les images ci-dessous, celle avec la flèche rouge pointe vers ce que les 10 lignes de code commenté, précédé de --
Il s'agit de la liste "Clear ...". Pour remplacer, par exemple, "la dernière heure" par l'un des autres éléments de la liste "Effacer ...", il suffit de cliquer sur le bouton "Effacer ...". valeurs c'est ici que vous décomposez les lignes commentées appropriées de l'application code .
Comme une feuille :
Comme une boîte de dialogue :