validation d'un message "d'erreur" sous safari

johny12

Membre actif
10 Mars 2008
150
3
j'ai deja trouvé le script suivant me permetant de reactualiser la page
on run
activate application "Safari"
tell application "System Events"​
tell application process "Safari"​
repeat​
keystroke "r" using command down​
delay 300​
end repeat​
end tell​
end tell​
end run

mais il reste un problème, c'est un formulaire. Comment puis-je donc valider ce message: vous allez reanvoyer des donnés ... etc ?
(le début du message est :voulez-vous vraiment soumettre à nouveau le formulaire ? ..."

/je tient a préciser que ceci n'est pas pour " triché sr 1 sit" comme déjà demandé mais pour effectuer une commande que je doit faire tout les 2 jours/

merci de votre réponse


Déjà, pour avoir une réponse, faut poser la question ... Au bon endroit. On y va. En plus, pour indenter, faut utiliser la balise indent, parce que les espaces en début de ligne ne sont pas pris en compte !
 
j'ai deja trouvé le script suivant me permetant de reactualiser la page
on run
activate application "Safari"
tell application "System Events"​
tell application process "Safari"​
repeat​
keystroke "r" using command down​
delay 300​
end repeat​
end tell​
end tell​
end run

mais il reste un problème, c'est un formulaire. Comment puis-je donc valider ce message: vous allez reanvoyer des donnés ... etc ?
(le début du message est :voulez-vous vraiment soumettre à nouveau le formulaire ? ..."

/je tient a préciser que ceci n'est pas pour " triché sr 1 sit" comme déjà demandé mais pour effectuer une commande que je doit faire tout les 2 jours/

merci de votre réponse


Déjà, pour avoir une réponse, faut poser la question ... Au bon endroit. On y va. En plus, pour indenter, faut utiliser la balise indent, parce que les espaces en début de ligne ne sont pas pris en compte !
Bonjour

Si je comprend bien c'est la fenêtre qui s'ouvre en haut de la page web.

Quel système tu utilise?

Avec Leopard c'est possible de faire un clic sur un bouton (Tiger jamais testé) avec:
Bloc de code:
tell application "Extra Suites"

@+
 
je suis désolé mais je ne sais absolument pas sur quel systeme je suis ...

Mais lorsque j'entre :" tell application "Extra Suites" il me demande bien evidemment ou il se trouve, et je ne le trouve pas. Pouriez vous me dire ou il est placé ou bien si il n'existe pas sous ce systeme ?

je pense avoir à peu près trouvé :

tell application "System Events"
tell process "Firefox"
try
tell front window
click at {x, y}
end tell
end try
end tell
end tell

mais malheureusement, ca ne marche pas ...

(j'ai bien sur remplacé X et Y par les points corespondants)
 
je suis désolé mais je ne sais absolument pas sur quel systeme je suis ...

Mais lorsque j'entre :" tell application "Extra Suites" il me demande bien evidemment ou il se trouve, et je ne le trouve pas. Pouriez vous me dire ou il est placé ou bien si il n'existe pas sous ce systeme ?

Pour les renseignements sur le Mac: Dans la fenêtre du Finder, Menu Pomme/A propos de ce Mac.

L'OSAX Extra Suites: http://www.kanzu.com/

A placer dans Utilisateurs/Petite maison/Bibliothèque/ScriptingAdditions

Si ce dossier n'existe pas, le créer, mais aucune faute dans le nom pour que le dossier soit reconnu.

Bloc de code:
activate application "Safari"
tell application "System Events" to tell window 1 of process "Safari"
	set {g, h} to position -- Postion de la fenêtre sur l'écran
end tell
-- Faire le test du script non compilé qu'avec les lignes ci-dessus pour avoir les valeurs de g & h

tell application "Extra Suites"
	ES move mouse {g + 14, h + 10} -- Position du centre de la pustule rouge pour quitter la fenêtre de Safari
	ES click mouse
end tell

-- g + 14 = centre de la pustule rouge par apport au bord gauche de la fenêtre de Safari
-- h + 10 = centre de la pustule rouge par apport au bord haut de la fenêtre de Safari

-- Pour le centre du bouton j'utilise Pixie Developer/Applications/Graphics Tools/Pixie (des freewares existent)
-- Du résultat de Pixie on soustraie les valeurs de g & h  que l'on ajoute a g & h pour avoir la postion du bouton à cliquer sur la fenêtre.

-- Ceci est valable pour des boutons qui ont une position définitives sur la fenêtre.
-- Pour une fenêtre qui s'ouvre sur la fenêtre de Safari il doit falloir jouer sans doute avec le nom de la fenêtre (j'ai pas testé).

-- Ce code c'est juste pour te donner une idée.

@+
 
Merci pour votre réponse

Je suis donc sur un Mac OS X version 10.4.11

J'ai télécharger:"Extra Suites. L'ai placé dans Utilisateurs/Petite maison/Bibliothèque/ScriptingAdditions ( après avoir créé le dossiers ScriptingAdditions)

Puis commencé à compiler le script, et la ... "Ou se trouve extra suites ?" me demande-il, je refais le chemin: utilisateurs petite maison bibliotheque scripting additions et je ne peux malheureusement pas le selectionner, pourquoi ?

Lorsque je lance le début du script :"
activate application "Safari"
tell application "System Events" to tell window 1 of process "Safari"
set {43, 58} to position -- Postion de la fenêtre sur l'écran
end tell

il s'affiche :" Erreur d'applescript: Erreur dans systeme event
NSReceiverEvaluationScriptError: 4
ai-je fais une mauvaise manipulation ?
merci de votre réponse
 
Merci pour votre réponse
set {43, 58} to position -- Postion de la fenêtre sur l'écran
Bonjour

Cette ligne n'exécute pas un ordre elle reçoit les nombres de la partie gauche et haute de la fenêtre.
Ce sont obligatoirement des variables.
Si tu déplace la fenêtre, a la prochaine ouverture de Safari les 2 variables auront changées, mais pas la position du clic qui est géré justement par ces 2 variables.

La première partie du script doit pas être modifié,.

Si tu veut placer la fenêtre toujours au même endroit la commande est pas celle-ci mais l'inverse.

@+
 
ok, merci. je crois avoir compris.

Par contre, sur la ligne :" ES move mouse {g + 14, h + 10}

il s'affiche ( à la compilation) :" Syntax error
"given","with","without",nom d'autres paramètres,etc.prévu mais identificateur trouvé / et le mot "mouse" est selectionné.
que dois-je faire ?

lors de ce script :"
on run
activate application "Safari"
tell application "System Events"​
tell application process "Safari"​
repeat​
keystroke "r" using command down​
delay 300​
end repeat​
end tell​
end tell​
end run

il apparait ce message



je me demande donc, si il est possible de simuler pomme r, est-il aussi possible de simuler enter ? ce qui réglerait pas mal de problèmes

//


-- Pour une fenêtre qui s'ouvre sur la fenêtre de Safari il doit falloir jouer sans doute avec le nom de la fenêtre (j'ai pas testé).

comme c'est un message d'erreur, il apparait toujours exactement au millieu et en haut de la page
 
ok, merci. je crois avoir compris.

Par contre, sur la ligne :" ES move mouse {g + 14, h + 10}
Si mouse est surligné en bleu, il y a de forte chance que l'OSAX Extra Suites ne soit pas trouvé.
Le dossier ScriptingAdditions que tu as créé n'est pas trouvé, recréer le sans faute.

Tu peut en créer un dans le dossier bibliothèque a la racine du DD il seras pour toutes les sessions, le premier créé et que pour une session (moi j'ai les 2)

@+
 
peux-tu s'il te plait me réindiquer la marche à suivre dans ce cas ?

merci de ta réponse
Erreur de ma part.

Il utilise une icône de complément de pilotage et c'est une application, c'est ce qui ma trompé (ce n'est pas un OSAX).

Place le avec les applications et fait un test.

PS: La ligne après ES click mouse ajoute Quit car c'est une application qui travaille en tâche de fond alors pas d'icône visible et c'est pas la peine de garder une application ouverte inutilement.

@+
 
le script serait donc :"
activate application "Safari"
tell application "System Events" to tell window 1 of process "Safari"
set {g, h} to position -- Postion de la fenêtre sur l'écran
end tell


tell application "Extra Suites"
ES move mouse {g + 14, h + 10} -- Position du centre de la pustule rouge pour quitter la fenêtre de Safari
ES click mouse // c'est la que je doit placer "quit" ou une ligne plus bas ?

end tell

-- g + 14 = centre de la pustule rouge par apport au bord gauche de la fenêtre de Safari
-- h + 10 = centre de la pustule rouge par apport au bord haut de la fenêtre de Safari



mais il me reafiche qu'il ne connais pas "mouse" n'y aurait-il pas une autre appelation ?
 
le script serait donc :"
Bloc de code:
activate application "Safari"
tell application "System Events" to tell window 1 of process "Safari"
	set {g, h} to position -- Position du coin haut gauche de la fenêtre sur l'écran
end tell

tell application "Extra Suites"
	ES move mouse {g + 14, h + 10} -- Sélectionne la position du bouton à cliquer
	ES click mouse -- Clic sur le bouton
	quit
end tell

Pour garder le formatage code (entre crochets) l'applescript slash & code (entre crochets).
Le script se trouve alors comme ci-dessus.

@+
 
merci beaucoup, il me paraît juste mais il y a encore un léger problème. Mous n'existe pas dans son lexique visiblement, n'y aurait-il pas un autre mot identique mais compréhensible par ses petits circuits ?
 
merci beaucoup, il me paraît juste mais il y a encore un léger problème. Mous n'existe pas dans son lexique visiblement, n'y aurait-il pas un autre mot identique mais compréhensible par ses petits circuits ?
La je ne comprend rien à ta réponse.

Pour comprendre ce que tu cherche, dit nous sur quel Mac (si c'est un mac), et quel système tu utilise?

Le code donné est pour Tiger et Leopard.

Tu donne aucun détails, ta réponse démerdez vous je veut une réponse exact c'est mon droit puisque je pose la question.

On est la pour t'aider, alors aide nous toi aussi pour trouver la réponse que tu cherche.

Le script envoyé marche parfaitement chez moi avec Léopard (le mien doit être exceptionnel ou alors c'est mon ordinateur qui corrige mes erreurs).

La je pense trouver aucunes solutions pour ton problème, fait comme si mes posts c'était un Bug avec window.

Je suis dégoûté de répondre.
 
Désolé, mon but n'était pas de vous vexer. Je voulais placer juste un semblant de blague, qui visiblement n'a pas l'air d'avoir bien passé. Désolé.

C'est vrai qu'en relisant mes message, je n'ai pas été d'une extreme sympathie envers une personne qui ne m'a rien demandée et qui en plus de me donner des conseils me donne de son temps libre. Pour ça, je vous remerci grandement.

Pour le mac sur lequel je suis:"a propos de ce mac " montre ceci



Je ne trouve malheureusement pas ou mon système il est indiqué.

Je vous met donc toutes les infos que j'ai récupéré:

Version du système : Mac OS X 10.4.11 (8S2167)
Version du noyau : Darwin 8.11.1
Volume de démarrage : Macintosh HD
Nom de l’ordinateur : Ordinateur de nicolas muller
Nom de l’utilisateur : Jonathan Muller (jonathan)

Informations matériel :

Nom du modèle : MacBook
Identifiant du modèle : MacBook2,1
Nom du processeur : Intel Core 2 Duo
Vitesse du processeur : 2 GHz
Nombre de processeurs : 1
Nombre total de cœurs : 2
Cache de niveau 2 (par processeur) : 4 Mo
Mémoire : 1 Go
Vitesse du bus : 667 MHz
Version de la ROM de démarrage : MB21.00A5.B07
Version SMC : 1.17f0
Numéro de série : W87357HPZ5V
Capteur de mouvement brusque :
État : Activé

L'info recherchée est-elle dedans ?
 
Désolé, mon but n'était pas de vous vexer.
Bonjour

Dans mes posts il y a une signature en bas et bien fait la même chose, comme ça cela permet de te répondre plus facilement.

Pour toi:

MacBook Intel Core 2 Duo 2 GHz
Système 10.4.11 (que tu mettras à jour quand tu passeras sous Leopard).

Cela suffit.

Quand à mous???

Le script doit te fermer la page de Safari tel qu'il est écrit (i faut qu'il y est au moins une fenêtre d'ouverte, car c'est un exemple donc pas de contrôle).
Si une erreur à la compilation c'est qu'il ne trouve pas l'application "Extra Suites" dans ton ordinateur.

Donc l'installer.
 
Dit moi si ta fenêtre d'alerte à toujours le même format suivant les dimensions de la fenêtre de Safari.

Pour avoir toujours le curseur centré sur le bouton.

Ou donne moi la solution pour avoir cette fenêtre, je l'ai rarement.

@+
 
oui, elle est toujours centrée. La "solution" par exemple: aller sur un sit d'achat par corespondance, indiquer le nombre de produit à commander puis valider, et faire pomme r ou bien executer ce script:

activate application "Safari"
tell application "System Events"
tell application process "Safari"
repeat
keystroke "r" using command down
delay 300
end repeat
end tell
end tell
end run

d'ou m'est venu une idée, peu logique, certes, mais qui pourait éviter pas mal de problèmes.

La commande "keystroke "r" using command down" simuler "pomme r"
n'y aurait-il pas un moyen de simuler enter ?

( je suis en train de charger la video pour vous montrer ou est le problème)
 
oui, elle est toujours centrée. La "solution" par exemple: aller sur un sit d'achat par corespondance, indiquer le nombre de produit à commander puis valider, et faire pomme r ou bien executer ce script:

d'ou m'est venu une idée, peu logique, certes, mais qui pourait éviter pas mal de problèmes.

La commande "keystroke "r" using command down" simuler "pomme r"
n'y aurait-il pas un moyen de simuler enter ?
Ce que je demande c'est si ta fenêtre Safari à le format d'un écran 9" ou en format 17" sur ton écran le nombre de pixels de la fenêtre d'alerte est le même.

Pour le code, si c'est le même c'est facile de trouver le centre du bouton à cliquer, sinon faut faire le calcul du centre du bouton pour pouvoir cliquer.

Keystroke return normalement c'est la touche Enter
 
elle a toujours la même taille, heureusement

le script est super, mais j'ai du faire une erreur, j'ai téléchargé "extra suites" a l'adresse que tu m'a donné, l'ai placé dans le dossier "ScriptingAdditions" que j'avais crée auparavant. Mais ce fichu ordinateur, malgré toute ces très bonnes marche à suivres ne comprend pas "mouse", saleté d'ordi ^^. me suis-je trompé ou cela ne marche pas sur mon ordi dans tout les cas ? ( je suis sur que je me suis trompé, mais je ne sais pas ou ...)