Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

bouton "Ignorer"

7 réponses
Avatar
fleurot
Dans AppleScript, quelle est la ligne de commande qui active le bouton
"Ignorer" d'"Images Disques" ?
(tell application "Disk Copy" to ?)

--
fleurot@entrop.fr.fm
Pour répondre, supprimer « entrop. »

7 réponses

Avatar
Patrick Stadelmann
In article <1fxs8cm.n6fmfod5i4jgN%,
(Fleuger) wrote:

Dans AppleScript, quelle est la ligne de commande qui active le bouton
"Ignorer" d'"Images Disques" ?
(tell application "Disk Copy" to ?)


Ignorer quoi ? AppleScript n'est à la base pas prévu pour cliquer des
boutons, mais pour obtenir des informations et lancer des opérations.
Disk Copy n'est malheureusement pas vraiment pilotable dans Mac OS X.
Sous Mac OS 9, c'était plus évolué et là il doit être possible de
spécifier qu'une action lancée via AppleScript se déroule sans afficher
de dialogue, soit via un paramètre soit en modifiant temporairement les
préférences.

Mac OS X donne la capacité à AppleScript de cliquer sur des boutons, à
condition d'installer la beta du kit GUI Scripting :
http://www.apple.com/applescript/GUI

Patrick
--
Patrick Stadelmann

Avatar
fleurot
Patrick Stadelmann wrote:

Mac OS X donne la capacité à AppleScript de cliquer sur des boutons, à
condition d'installer la beta du kit GUI Scripting :
http://www.apple.com/applescript/GUI


OK, Merci pour la réponse.
J'ai installé, mais je n'arrive pas à actionner le bouton.
tell application "Disk Copy" to activate window "Progression images
disques"
click button "Ignorer"
Le script refuse click button "Ignorer". (il met soit button soit " en
surbrillance)
C'est pourtant la syntaxe prévue dans les exemples de la page.
J'ai encore loupé quelque chose ?

--

Pour répondre, supprimer « entrop. »

Avatar
Patrick Stadelmann
In article <1fxsq5i.td2hyw1fy4g5wN%,
(Fleuger) wrote:

J'ai encore loupé quelque chose ?


Oui, les commandes doivent être envoyées à "System Event", cf les
exemples sur la page http://www.apple.com/applescript/GUI

En plus, je sais pas comment ça fonctionne sur un système non US, mais
peut-être qu'il faut utiliser le nom du bouton en VO. En utilisant le
nom donné par "UI Element Inspector", ça devrait fonctionner.

Patrick
--
Patrick Stadelmann

Avatar
fleurot
Patrick Stadelmann wrote:

Si tu regardes attentivement l'UI Element Inspector, tu verras que tu as
oublié un élément dans la hiérarchie. Ce code fonctionne avec Disk Copy
en anglais :

tell application "System Events"
tell process "Disk Copy"
click button "Skip" of scroll area 1 ¬
of window "Disk Copy Progress"
end tell
end tell


C'est curieux que ça fonctionne chez toi en anglais et que, ici, ça ne
marche toujours pas, ni en anglais, ni en reprenant les éléments
indiqués par l'UI Element Inspector (copie ci-dessous).

(j'ai même essayé un copier/coller de "Progression d'Images disques" en
pensant à l'apostrophe qui pourrait ne pas être la même).

<AXApplication: "Images disques">
<AXWindow: "Progression d'Images disques">
<AXScrollArea>
<AXButton: "Ignorer">

Attributes:
AXRole: "AXButton"
AXRoleDescription: "AXButton"
AXHelp: "(null)"
AXEnabled: "1"
AXFocused (W): "0"
AXParent: "<AXScrollArea>"
AXWindow: "<AXWindow: "Progression d'Images disques">"
AXPosition: "xB2 yF9"
AXSize: "w„ h("
AXTitle: "Ignorer"

Actions:
AXPress - appuyer

L'action AXPress - appuyer correspond-elle à click ?

Comme tu dis :
C'est peut-être pas encore supporté.



--

Pour répondre, supprimer « entrop. »

Avatar
Patrick Stadelmann
In article <1fxtv6t.djw6zul7jjpcN%,
(Fleuger) wrote:

Patrick Stadelmann wrote:

tell application "System Events"
tell process "Disk Copy"
click button "Skip" of scroll area 1 ¬
of window "Disk Copy Progress"
end tell
end tell


C'est curieux que ça fonctionne chez toi en anglais et que, ici, ça ne
marche toujours pas, ni en anglais, ni en reprenant les éléments
indiqués par l'UI Element Inspector (copie ci-dessous).


Essaye de rajouter : tell application "Disk Copy" to activate
avant (le GUI Scripting ne fonctionne qu'avec l'application active).

Sinon n'a peut-être pas fait la même manip. Le script ci-dessus
fonctionne (en anglais) pour cliquer sur le bouton "Ignorer" lorsque
Disk Copy vérifie le checksum d'une image disque ouverte par double-clic.

Comme tu dis :
C'est peut-être pas encore supporté.



Pourtant avec Aperçu ça fonctionne :

tell application "Preview" to activate

tell application "System Events"
tell process "Preview"
click menu item "Quitter Aperçu" of menu "Aperçu" of menu bar 1
end tell
end tell

Il faut donc bien mettre les noms des objets dans la langue affichée,
mais conserver l'anglais pour identifer l'application.

Patrick
--
Patrick Stadelmann


Avatar
fleurot
Patrick Stadelmann wrote:

tell application "Preview" to activate

tell application "System Events"
tell process "Preview"
click menu item "Quitter Aperçu" of menu "Aperçu" of menu bar 1
end tell
end tell


Celui-là fonctionne bien, mais l'autre ne veut rien savoir.

C'est la fonction click button qui ne marche pas

Je fais l'essai suivant, adapté des exemples :

tell application "System Preferences"
activate
end tell

tell application "System Events"
tell process "System Preferences"
click menu item "Date et heure" of menu "Présentation"
of menu bar 1
delay 3
tell tab group 1
click radio button "Horloge de réseau"
end tell
end tell
end tell

qui fonctionne jusqu'au bouton et j'obtiens :
NSReceiverEvaluationScriptError: 4

Dans le dossier CoreServices, j'ai un fichier System Events (v1.2 du
3/12/2002 modifié aujourd'hui) et un autre System Events 1.1.1 (v1.1.2
du 10/9/2002 modifié le 9/4/2003. Est-ce normal ?
--

Pour répondre, supprimer « entrop. »

Avatar
Patrick Stadelmann
In article <1fxu3a9.1fzf1h31uo45wuN%,
(Fleuger) wrote:

qui fonctionne jusqu'au bouton et j'obtiens :
NSReceiverEvaluationScriptError: 4


En français donc. Si ça fonctionne en anglais, je pense qu'il faut
conclure que c'est la seule langue supportée pour l'instant.

Dans le dossier CoreServices, j'ai un fichier System Events (v1.2 du
3/12/2002 modifié aujourd'hui) et un autre System Events 1.1.1 (v1.1.2
du 10/9/2002 modifié le 9/4/2003. Est-ce normal ?


Oui, le 1.1.1 est la version standard de Jaguar, la 1.2 est la beta
installée par GUI Scripting.

Patrick
--
Patrick Stadelmann