Exemples
La programmation AppleScript en exemples.

Rouge à lèvres
Télécharger le résultat d'un formulaire web.
Imaginons qu'on veuille télécharger le résultat d'une recherche sur un site web. Il suffira de construire l'url en incluant les paramètres et de construire un script qui va télécharger la page. Ceci fonctionne uniquement si le formulaire utilise la méthode "GET". C'est la cas de Google ou Yahoo!. Si par contre, le formulaire utilise la méthode "POST", les paramètres ne sont pas visibles.

A titre d'exemple, vous trouverez ici une page contenant un formulaire. Choisissez un chiffre de 2 à 7 dans la liste déroulante et cliquez sur "Envoyez". Selon de choix effectué, la page résultat est différente.
On va créer un AppleScript qui va demander à l'utilisateur le nombre à passer en paramètre et qui va ensuite simuler la soumission du formulaire.

Exemple 22 : récupérez l'AppleScript ici.

Le Script :

set chemin_vers_le_bureau to (path to desktop as text)
try
set test_path to (chemin_vers_le_bureau & "mon_download.html") as alias
on error
tell application "Finder" to make new file at alias chemin_vers_le_bureau with properties {name:"mon_download.html", creator type:"R*ch", kind:"HTML file", file type:"html", file creator:"R*ch", type identifier:"public.html"}
end try

set mon_fichier to ( chemin_vers_le_bureau & "mon_download.html") as string

set mon_parametre to display dialog "Donnez une valeur entre 2 et 7" default answer ""
set mon_parametre to text returned of mon_parametre

set magic_url to "http://iscript.tibimac.com/reponse.php" & "?nombre=" & mon_parametre & "&bouton.x=1&bouton.y=1"

try
tell application "URL Access Scripting"
download magic_url to mon_fichier replacing yes
end tell
on error
display dialog "pas moyen d'obtenir la page"
end try

tell application "Finder" to open alias mon_fichier



Explications :
Le script crée un fichier vide sur le bureau (voir exemple n°5) et demande à l'utilisateur de saisir un paramètre (voir Fondamental n°6). Ensuite, on construit l'url.
Il est important de noter qu'il va falloir regarder le code source de la page web contenant le formulaire pour y trouver les informations nécessaires à la construction de l'url. Il faudra le nom de la page réponse du formulaire. On trouve cette information dans le tag FORM, juste après "action=". On cherchera le nom du champ et le nom du bouton de soumission.
Muni de ces éléments, on construit l'url par concaténation des éléments : url de la page réponse, point d'interrogation, puis chaque paramètre suivi d'un signe égal et de sa valeur. Chaque paramètre est séparé d'une esperluette (&).
On télécharge ensuite la page au moyen de la commande "
download". Pour finir, le script affiche la page téléchargée (page locale) dans le navigateur web par défaut.
Vous pouvez alors constater que la page téléchargée est identique à la page affichée par la soumission "manuelle" du formulaire. Pour comparer, cliquez ici.


Astuces :
• on notera que dans l'url téléchargée, le nom du bouton de soumission apparaît deux fois. On précise les coordonnées x et y de l'endroit où on simule le clic. On utilise ici x=1 pixel et y=1 pixel.
• on notera également qu'il est possible de télécharger une réponse à un formulaire qu'on n'aurait pas pu soumettre : par exemple, si on donne 10 comme paramètre… ou encore 13 !
• on pensera également, en tant que codeur de page web contenant des formulaires, qu'il est toujours possible de passer des paramètres autres que ceux autorisés par le formulaire.