# nouveau programme en Applescript



## Alex33 (30 Décembre 2006)

Bonjour à tous,
 je ne sais pas si ce que je vais vous demander de faire est réalisable mais il me serai très utile!
 Il faudrait créer une application en appelscript qui ferait les action suivantes:
 -Ouvrir Firefox à 23h 50
 -Charger une page donnée
 -Simuler un clic de souris à un endroit précis (je ne sais pas comment faire pour déterminer l' endroit)
 -Simuler que l' on tappe deux fois la touche entrée
 -Charger une autre page internet
 -Quitter Firefox
 -Refaire les actions précédentes à minuit dix.

 Je vous serait très très reconnaissant si vous y arrivez et j' espère que ce que je vous demande ne vous dérange pas.


----------



## Didier Guillion (30 Décembre 2006)

Alex33 a dit:


> Bonjour à tous,
> je ne sais pas si ce que je vais vous demander de faire est réalisable mais il me serai très utile!
> Il faudrait créer une application en appelscript qui ferait les action suivantes:
> -Ouvrir Firefox à 23h 50
> ...



Bonsoir,

Tu en es où au niveau codage de ton projet ? Quel est ton probleme precis ?

Cordialement


----------



## Alex33 (30 Décembre 2006)

Didier Guillion a dit:


> Bonsoir,
> 
> Tu en es où au niveau codage de ton projet ? Quel est ton probleme precis ?
> 
> Cordialement


A vrai dire je ne suis pas tr&#232;s avanc&#233;.
Bon pour ouvrir l' application je peux utiliser iCal donc pas de probl&#232;me.
Mais le plus dur serai de:
 -Simuler un clic de souris &#224; un endroit pr&#233;cis (je ne sais pas comment faire pour d&#233;terminer l' endroit)
 -Simuler que l' on tappe deux fois la touche entr&#233;e
Voila, si tu peux m' aider!


----------



## Grug (30 Décembre 2006)

essaye en combinant des actions automator&#8230;


----------



## Alex33 (30 Décembre 2006)

Tu peut être plus explicite, je n' ai que 14 ans!


----------



## ebensatis (30 Décembre 2006)

je sait que c'est faisable avec safari car apple script peut passer a safari des commande javascript permettant ainsi de cliquer sur un lien ou un bouton de formulaire.

Je pense qu'il faudrait procéder de la facon suivante :

faire un apple script qui :

1 ouvre la page web
2 test que son chrgement est fini (je n'est pas le code sous l main ... voir le dico appls script de safari)
3 cliquer sur le lien (via une commande javascrip ou action apple script direct si elle existe)
etc ...

Le lancement du script quand a lui peut effectiveùent être lncé via ical


----------



## Alex33 (30 Décembre 2006)

Le probl&#232;me c' est que avec Safari il faudrait que je remplisse le formulaire, ce qui avec Firefox n' est pas obligatoire suite &#224; une utilisation ant&#233;rieure car il m&#233;morire le remplissage des formulaires.

Comment faut-il faire (en programmation applescript bien sur) pour s&#233;lectionner un formulaire, simuler la touche entr&#233;e &#224; trois reprise et recharger une autre page web (avec Firefox)?
Mon code source pour l' instant:
*property mywebsite : "adressedusite"
tell application "Firefox" to OpenURL mywebsite
end*


----------



## Alex33 (30 Décembre 2006)

C' est bon j' ai trouvé la solution:
il me suffit de simuler 32 fois la touche du clavier qui est au dessus de la touche qui verrouille les majuscules (avec un rond qui s' allume) puis de simuler trois fois la touche entrée avant de charger une autre page internet puis de quitter firefox.

Es-ce que quelqu' un doué en programmation pourrais coder ce que je viens de citer et m' expliquer comment marche iCal?
Merci d' avance !


----------



## Alex33 (30 Décembre 2006)

Pardon, mauvaise manip!


----------



## p4bl0 (30 Décembre 2006)

Alex33 a dit:


> C' est bon j' ai trouvé la solution:
> il me suffit de simuler 32 fois la touche du clavier qui est au dessus de la touche qui verrouille les majuscules (avec un rond qui s' allume) puis de simuler trois fois la touche entrée avant de charger une autre page internet puis de quitter firefox.
> 
> Es-ce que quelqu' un doué en programmation pourrais coder ce que je viens de citer et m' expliquer comment marche iCal?
> Merci d' avance !


sauf que si ily a un liens qui apparait ou qui disparait le nombre de fois ou il faudrat appuyer sur la touche tab (c'est comme &#231;a qu'elle s'appelle) un nombre diff&#233;rent de fois.


Pour t'aider ouvre le dictionnaire de system events puis va dans "Porcesses Suite".
Avec &#231;a tu peux cliquer &#224; un endroit pr&#233;cis de l'&#233;cran, simuler des touche du claiver etc...


----------



## Anonyme (31 Décembre 2006)

&#199;a serait comme ceci

```
tell application "Firefox" to OpenURL "http://......."
delay 20
tell application "System Events" to tell front window of process "Firefox"
	repeat 32 times
		keystroke tab
		delay 0.1
	end repeat
	repeat 3 times
		keystroke (ASCII character 13)
		delay 0.1
	end repeat
end tell

tell application "Firefox" to OpenURL "http://une_autre_page"
delay 20
quit application "Firefox"
```
Sauf que "Firefox" n'est pas tr&#232;s scriptable,  on ne peut pas savoir quand la page est compl&#232;tement charg&#233;e, il faut mettre un d&#233;lai en esp&#233;rant que la page soit charg&#233;e  pour continuer apr&#232;s le d&#233;lai.

*delay 20* : C'est une attente de 20 secondes.

--
Pour ex&#233;cuter le script tous les jours, tu fais un &#233;v&#233;nement dans l'application "iCal".

Pomme + I , pour ouvrir la fen&#234;tre d'information.
Dans r&#233;p&#233;ter, tu s&#233;lectionnes "Tous les jours".
Dans alarme, tu s&#233;lectionnes "Ex&#233;cuter un script".
En dessous de "Ex&#233;cuter un script " tu choisis ton script.
Apr&#232;s tu modifies le "15 minutes avant" &#224; "0 minutes avant".


----------



## Franky Boy (31 Décembre 2006)

Alex33 a dit:


> Tu peut être plus explicite, je n' ai que 14 ans!



J'ai eu les mêmes problèmes.


----------



## GrandGibus (31 Décembre 2006)

Et pourquoi pas un simple shell programmé aux dites-heures par un cron ?

Ce shell utiliserait simplement un curl ou un wget.


----------



## Alex33 (31 Décembre 2006)

Merci!!!!!!!!!!!!! mais je n' ai pas "exécuter un script" dans iCal Alarme.
J' ai la version 1.5.5 d' iCal.


----------



## Alex33 (31 Décembre 2006)

Quelqu' un peur me dire la version d' iCal qui peut gérer les scripts en Applescript?
Merci d' avance!


----------



## flotow (31 Décembre 2006)

tu mets ton evenement dans iCal, et tu demandes une alarm, et la, de lancer un script 
es tu obligé d'utiliser FireFox?
quel est to site ?


----------



## Anonyme (31 Décembre 2006)

Alex33 a dit:


> Merci!!!!!!!!!!!!! mais je n' ai pas "exécuter un script" dans iCal Alarme.
> J' ai la version 1.5.5 d' iCal.



Moi c'est la version 2 de iCal.

Solution 1- Enregistre ton script en application, et "ouvrir un fichier"  au lieu de "Exécuter un script" dans iCal .

Solution 2- Editer la crontab dans le terminal avec ceci EX :
	
	



```
50 23 * * * /usr/bin/osascript -e 'run script "Disque1:Users:jacques:Desktop:open URLs avec Firefox.scpt"'
```
Voir le lien *Cron* dans le post de GrandGibus

Solution 3- Ou utiliser l'application Cronnix : Nouveau >> edite l'heure et les minutes , mets dans le champ "commande" ceci 
	
	



```
/usr/bin/osascript -e 'run script "Disque1:Users:jacques:Desktop:open URLs avec Firefox.scpt"'
```

Remplace 
	
	



```
"Disque1:Users:jacques:Desktop:open URLs avec Firefox.scpt"
```
 par le chemin de ton script.


----------



## Alex33 (31 Décembre 2006)

Tucpasquic>> secret

Mac_Jac>>merci infiniment!!!!!!!


----------



## Franky Boy (31 Décembre 2006)

Au fait, pourquoi faut-il que tu fasses cela?


----------



## ebensatis (1 Janvier 2007)

safari également enregistre ce que tu ura mis dans le formulaire précédemment rempli. Et par ailleur, en lui envoyant une commande javascript via applescript tu peut lui faire remplir le formulaire.

*En fait si tu as Tiger et donc automator qui permet de construir des petit programme automatisé à partir de "brique élémentaire", il existe une action automator a telecharger depuis le site d'apple qui fait ce genre de chose :

http://www.apple.com/downloads/macosx/automator/dospecifiedjavascriptincurrentwebpage.html

http://www.apple.com/downloads/macosx/automator/setformvaluesincurrentwebpage.html

http://www.apple.com/downloads/macosx/automator/setformvaluesincurrentwebpage.html


----------



## Alex33 (1 Janvier 2007)

D&#233;sol&#233; mais je n' ais pas Tiger!

J' ai un probl&#232;me, lorsque je lance l' application que j' ai enregistr&#233;, Firefox s' ouvre mais en arri&#232;re plan et donc la touche tab ne sert &#224; rien!
Quelqu' un aurait-il un code rem&#232;de?

Je cite que j' ai enregistr&#233; l' application en "rester en arri&#232;re-plan"!


----------



## Anonyme (1 Janvier 2007)

Alex33 a dit:


> Désolé mais je n' ais pas Tiger!
> 
> J' ai un problème, lorsque je lance l' application que j' ai enregistré, Firefox s' ouvre mais en arrière plan et donc la touche tab ne sert à rien!
> Quelqu' un aurait-il un code remède?
> ...



Mets cette ligne au début du script
	
	



```
tell application "Firefox" to activate
```


----------



## Alex33 (1 Janvier 2007)

Mac_Jac a dit:


> Mets cette ligne au début du script
> 
> 
> 
> ...


Merci Mac_Jac, tu m&#233;rites d' avoir au moins 20 points disco!!


----------



## flotow (1 Janvier 2007)

y'a aussi un truc avec front? pour mettre une appli au premier plan&#8230; (j'dois peut etre confondre ? )


----------



## Franky Boy (2 Janvier 2007)

Tu peux faire pomme+tab. Pas sûr que ça marche sous Panther.


----------



## p4bl0 (2 Janvier 2007)

Franky Boy a dit:


> Tu peux faire pomme+tab. Pas sûr que ça marche sous Panther.


c'est pas forc&#233;mment pratique de toute fa&#231;on, le nombres d'applications avant firefox pouvant chang&#233;.


----------



## Warflo (2 Janvier 2007)

Alors, ton programme marche comme tu veux ?


----------



## Alex33 (3 Janvier 2007)

Ouais super! 
Je me disais juste s' il existait un code pour suspendre l' activité?


----------



## Warflo (3 Janvier 2007)

```
tell application "System Events" to sleep
```


----------



## p4bl0 (3 Janvier 2007)

Warflo a dit:


> ```
> tell application "System Events" to sleep
> ```


et y a pas la m&#234;me chose pour les humains ? j'aimerais bien &#231;a pour moi, ou pour d'autre de temps en temps


----------



## Warflo (3 Janvier 2007)

Tu veux dire ? 

```
tell geek "p4bl0" to sleep
```
il y a même:

```
tell geek "Warflo" to shut up
```

:rateau:


----------



## p4bl0 (4 Janvier 2007)

Warflo a dit:


> Tu veux dire ?
> 
> ```
> tell geek "p4bl0" to sleep
> ...


  :rateau:


----------



## Alex33 (4 Janvier 2007)

Quelqu' un veut me rajouter un point disco? lol


----------



## p4bl0 (4 Janvier 2007)

Alex33 a dit:


> Quelqu' un veut me rajouter un point disco? lol


je sais pas pourquoi... mais je t'ai boul&#233;... :mouais:

Bon sinon les points disco &#231;a s'ajoute aps comme &#231;a, faut voir dans la FAQ, mais c'est un calcul magique qui donne ton nombre de points disco (&#231;a d&#233;pend de plein de truc)


----------



## Warflo (4 Janvier 2007)

Alex33 a dit:


> Quelqu' un veut me rajouter un point disco? lol


Si on suit l'ordre logique des choses, c'est plutôt toi qui devrais nous bouler


----------



## p4bl0 (4 Janvier 2007)

Warflo a dit:


> Si on suit l'ordre logique des choses, c'est plutôt toi qui devrais nous bouler


il a une force disco de z&#233;ro alors de toute fa&#231;on...


----------



## Alex33 (6 Janvier 2007)

Warflo a dit:


> Si on suit l'ordre logique des choses, c'est plutôt toi qui devrais nous bouler


Je t' ai boul&#233; mais &#231;a a pas chang&#233; grand chose!


----------



## p4bl0 (19 Janvier 2007)

Quelque chose de nouveau qui pourrait aider :

http://groups.csail.mit.edu/uid/chickenfoot/


----------

