Je travaille sur un script AppleScript d'interface graphique qui, pour le document FileMaker Pro Advanced ouvert, va dans le menu Fichier et sélectionne la boîte de dialogue Options de fichier, puis définit certaines valeurs de cases à cocher/boutons radio et de champs.
La boîte de dialogue ressemble à ceci :
Je voudrais que mon script fasse ce qui suit :
- cochez la case "Se connecter en utilisant :" si elle n'est pas déjà sélectionnée
- sélectionnez le bouton radio "Nom du compte et mot de passe" s'il n'est pas déjà sélectionné
- Saisissez une valeur dans le champ "Compte :".
- Entrez une valeur dans le champ "Mot de passe :".
- Cliquez sur le bouton OK
J'ai réussi à ouvrir la boîte de dialogue mais je n'arrive pas à passer la case à cocher. C'est la première fois que j'utilise un script GUI. J'utilise OS X Yosemite 10.10.3.
Voici mon script :
-- check that GUI Scripting is available
GUIScripting_status()
-- bring FileMaker Pro Advanced to the front
tell application "FileMaker Pro Advanced"
activate
end tell
setfmFileOptions()
on click_button(app_name, button_name)
try
tell application app_name
activate
end tell
tell application "System Events"
tell process app_name
click button button_name of front window
end tell
end tell
return true
on error error_message
end try
end click_button
on do_menu(app_name, menu_name, menu_item)
try
-- bring the target application to the front
tell application app_name
activate
end tell
tell application "System Events"
tell process app_name
tell menu bar 1
tell menu bar item menu_name
tell menu menu_name
click menu item menu_item
end tell
end tell
end tell
end tell
end tell
return true
on error error_message
return false
end try
end do_menu
on setfmFileOptions()
-- choose the Developer Utilities menu item from the Tools menu of FileMaker Pro Advanced
do_menu("FileMaker Pro Advanced", "File", "File Options...")
-- click the "Log in using" checkbox:
if (exists checkbox "Log in using:" of window 1) is true then
click checkbox "Log in using:" of window 1
end if
end setfmFileOptions
on GUIScripting_status()
-- check to see if assistive devices is enabled
tell application "System Events"
set UI_enabled to UI elements enabled
end tell
if UI_enabled is false then
tell application "System Preferences"
activate
set current pane to pane id "com.apple.preference.universalaccess"
display dialog "This script utilizes the built-in Graphic User Interface Scripting architecture of Mac OS x which is currently disabled." & return & return & "You can activate GUI Scripting by selecting the checkbox \"Enable access for assistive devices\" in the Universal Access preference pane." with icon 1 buttons {"Cancel"} default button 1
end tell
end if
end GUIScripting_status
Il ne compile pas et renvoie cette erreur à la ligne " if (exists checkbox "Log in using :" of window 1) is true then" :