Page 1 sur 1

[R] Sélection suite à recherche et clic (FireFox) !

Posté : ven. 03 avr. 2009 15:00
par mjoly
Bonjour,

sur une page web ou certains liens ne sont pas accessibles par des "tab" classique (que l'ont peu donc activer avec un "enter"), j'aimerais savoir si, une fois la recherche effectué, les champs textes sélectionné, il est possible de faire pointer le curseur sur ladite sélection puis de cliquer dessus..

J'utilise Firefox, et le code source dispo de la page ne me donne pas de liens directs.. cela semble être du java, quoiqu'il en soit, je n'ai pas trouver de moyen simple pour arriver à faire exécuter cette sélection!!

Code : Tout sélectionner

opt("WinTitleMatchMode", 2)

WinActivate("Firefox")
WinSetOnTop("Firefox", "", 1)

Send("texte a rechercher")
C'est juste la base de fonctionnement (cela marche sur le principe foxien de la recherche lors d'une saisie de texte)..

après avoir gratté à droite à gauche, je n'ai pas trouver (peut être pas assez chercher.. quoique..) de moyen simple pour activer / simuler un clic sur cette sélection...

merci de votre assistance !!

Re: Sélection suite à recherche et clic!

Posté : ven. 03 avr. 2009 20:25
par sambalec
Salut, en fait tu as un lien sous forme de texte sur ta page ? et tu aimerais cliquer dessus sans les tab c'est bien ca ?

Re: Sélection suite à recherche et clic!

Posté : ven. 03 avr. 2009 20:32
par mjoly
sambalec a écrit :Salut, en fait tu as un lien sous forme de texte sur ta page ? et tu aimerais cliquer dessus sans les tab c'est bien ca ?
c'est presque cela.. en fait, il s'agit bien d'un lien, mais qui n'est pas reconnu comme tel par le navigateur (les tabulations en manuel ne donne pas accès à ce lien..)

Re: Sélection suite à recherche et clic!

Posté : ven. 03 avr. 2009 21:56
par Tlem
Merci de prendre un moment pour lire les règles de présentation d'un message.

Re: [..] Sélection suite à recherche et clic!

Posté : ven. 03 avr. 2009 23:19
par orax
Quant on fait une recherche avec Firefox, le texte recherché et en surbrillance, est-ce le cas dans votre cas ? Je demande ça puisque éventuellement, s'il est possible de détecter une certaine couleur (comme le jaune fluo quand on active "Surligner tout") à l'endroit du lien, et bien on saura où cliquer. C'est une solution un peu bancale, je l'avoue... Dans le même style, il y a PixelChecksum() qui pourrait être utile si le lien à rechercher est toujours le même et est sur le même site. Mais l'idéal serait de pouvoir récupérer le texte recherché et de pouvoir déterminer qu'il s'agisse d'un lien.

Re: Sélection suite à recherche et clic!

Posté : sam. 04 avr. 2009 08:54
par mjoly
Tlem a écrit :Merci de prendre un moment pour lire les règles de présentation d'un message.

Désolé.. j'avais pas vu cette précision, merci!

Re: [..] Sélection suite à recherche et clic!

Posté : sam. 04 avr. 2009 08:58
par mjoly
orax a écrit :Quant on fait une recherche avec Firefox, le texte recherché et en surbrillance, est-ce le cas dans votre cas ?
Effectivement, le texte apparait bien surligné..
orax a écrit :Je demande ça puisque éventuellement, s'il est possible de détecter une certaine couleur (comme le jaune fluo quand on active "Surligner tout") à l'endroit du lien, et bien on saura où cliquer. C'est une solution un peu bancale, je l'avoue... Dans le même style, il y a PixelChecksum() qui pourrait être utile si le lien à rechercher est toujours le même et est sur le même site. Mais l'idéal serait de pouvoir récupérer le texte recherché et de pouvoir déterminer qu'il s'agisse d'un lien.
Tout à fait.. et c'est bien là ou la bas blesse!! le texte se retrouve à la recherche sur la page, mais n'apparait pas dans le code celle-ci.. en fait, il s'agit d'un formulaire de présentation d'information avec des liens qui permettent d'approfondir une recherche sur certains éléments affichés.

Merci encore de votre aide.

Re: [..] Sélection suite à recherche et clic!

Posté : sam. 04 avr. 2009 10:03
par sambalec
Voilà la solution cher ami ( petite astuce que j'avais découvert seul il y a quelque temps ) :

Mon principe est de rechercher le texte du lien sous firefox avec l'outil de recherche, une fois trouvé, Firefox surligne ton lien en vert, tu clic sur la petite croix en bas à gauche pour fermer la barre de recherche et Hop tu appuis sur la touche entrée ;)

Code : Tout sélectionner

;//IL FAUT QUE TU EXCECUTE LE SCRIPT ET QUE TU CLIC SUR TA PAGE FIREFOX JUSTE APRES. N'OUBLIE PAS DE REMPLIR LES COORDONNEES X ET Y DE LA CROIX QUI FERME LA RECHERCHE FIREFOX.

Sleep(3000)
Send("^f");OUVRE LA BOITE DE RECHERCHE FIREFOX
Sleep(500)
Send("Le texte de ton lien")
Sleep(500)
MouseClick("left",x,y,1,2);x et y sont les coordonnées de la petite croix en bas à gauche qui ferme la barre de recherche firefox ( croix )
Send("{ENTER}"); Valide le lien recherché
Enjoy ! :D

Re: [..] Sélection suite à recherche et clic!

Posté : sam. 04 avr. 2009 16:47
par mjoly
Je teste cela dès lundi..

merci!

Re: [..] Sélection suite à recherche et clic!

Posté : sam. 04 avr. 2009 19:30
par sambalec
Tiens nous au courant :)

Re: [..] Sélection suite à recherche et clic!

Posté : lun. 06 avr. 2009 12:40
par mjoly
sambalec a écrit :Tiens nous au courant :)
désolé.. ça ne marche pas.. en fait, cela revient à quelque chose près à ce que j'obtient actuellement avec la recherche à la saisie + enter..

PS: En fait, le code concerné est de ce type:

Code : Tout sélectionner

<a onclick="execute('connexionsListe');">Connexions</a><br>
Est-il possible d'injecter avec AutoIT directement cette commande html?

Re: [..] Sélection suite à recherche et clic!

Posté : lun. 06 avr. 2009 13:15
par sambalec
Salut quand tu fais manuellement une recherche du lien via la recherche firefox et qu'il surligne en vert le mot trouvé, quand tu quittes la fenetre de recherche avec la petite croix en bas, ton lien doit changer de couleur ( surlignage bleu) ensuite tu appuis sur entrée. Dis moi ce que ca donne.

Re: [..] Sélection suite à recherche et clic!

Posté : lun. 06 avr. 2009 14:47
par mjoly
sambalec a écrit :Salut quand tu fais manuellement une recherche du lien via la recherche firefox et qu'il surligne en vert le mot trouvé, quand tu quittes la fenetre de recherche avec la petite croix en bas, ton lien doit changer de couleur ( surlignage bleu) ensuite tu appuis sur entrée. Dis moi ce que ca donne.

comme explicité ci-dessus..
.. rien

Re: [..] Sélection suite à recherche et clic!

Posté : lun. 06 avr. 2009 15:05
par sambalec
Si tu veux envoi moi par MP l'URL de la page en question.

Re: [..] Sélection suite à recherche et clic!

Posté : lun. 06 avr. 2009 15:38
par mjoly
sambalec a écrit :Si tu veux envoi moi par MP l'URL de la page en question.
ça va être difficile.. c'est un intranet !

... mais ce que j'ai envoyé correspond.. le code "onclick" est celui utilisé dans la page.

Re: [..] Sélection suite à recherche et clic!

Posté : lun. 06 avr. 2009 20:01
par orax
Si ça ne marche que quand on clique dessus alors peut-être qu'en modifiant le code html de la page ça marcherait (en changeant onclick par......?). Ca peut se faire sous IE, sinon sur Firefox je suppose qu'il faudra rajouter l'extension MozRepl. Autre solution, celle que j'avais déjà donnée, qui consiste à rechercher un pixel vert dans la page (pixel qui correspond au lien surligner) pour obtenir les coordonnés du lien. C'est des solutions que je n'ai pas testé donc ça peu ne pas marcher. D'ailleurs, il y en a peut-être des meilleures mais je n'en ai pas d'autres qui me viennent à l'esprit. :roll:


Edité : je rajoute que si MozRepl est installé on devrait pouvoir lancer la page sans utiliser la fonction rechercher ou sans changer le code comme je l'ai dit plus haut (enfin... je pense).

Re: [..] Sélection suite à recherche et clic!

Posté : mer. 08 avr. 2009 07:40
par sambalec
Ou pourquoi ne pas faire un mouseclick un peu au dessus de ton lien après la recherche et ensuite jouer la sélection du lien avec les TAB jusqu'a sélectionné le lien et le valider avec entrée ?

Re: [..] Sélection suite à recherche et clic!

Posté : mer. 08 avr. 2009 10:44
par mjoly
orax a écrit :Si ça ne marche que quand on clique dessus alors peut-être qu'en modifiant le code html de la page ça marcherait (en changeant onclick par......?). Ca peut se faire sous IE, sinon sur Firefox je suppose qu'il faudra rajouter l'extension MozRepl. Autre solution, celle que j'avais déjà donnée, qui consiste à rechercher un pixel vert dans la page (pixel qui correspond au lien surligner) pour obtenir les coordonnés du lien. C'est des solutions que je n'ai pas testé donc ça peu ne pas marcher. D'ailleurs, il y en a peut-être des meilleures mais je n'en ai pas d'autres qui me viennent à l'esprit. :roll:


Edité : je rajoute que si MozRepl est installé on devrait pouvoir lancer la page sans utiliser la fonction rechercher ou sans changer le code comme je l'ai dit plus haut (enfin... je pense).

Problème.. c'est que MozRepl ne fonctionne pas sous FF 3.xx...
Ta solution concernant le surlignage en est peut être une.. il va falloir peut être que je gratte de ce coté.. Sinon, l'usage de l'UDF FF.au3 pourrait-il m'aider sur ce type de problème ?

Re: [..] Sélection suite à recherche et clic!

Posté : mer. 08 avr. 2009 10:46
par mjoly
sambalec a écrit :Ou pourquoi ne pas faire un mouseclick un peu au dessus de ton lien après la recherche et ensuite jouer la sélection du lien avec les TAB jusqu'à sélectionné le lien et le valider avec entrée ?
les tab ne passe pas sur ce type de "lien" qui n'en sont pas vraiment en fait.. j'appellerais cela plus une "zone à cliquer"

PS: ça y est enfin !!
suite à un message mis dans le forum anglophone, le dénommé Stilgar m'a fourni la réponse.

Il faut effectivement ajouté MozRepl, l'activé, et utiliser les lignes de codes suivantes:

Code : Tout sélectionner

#include <FF.au3>
WinActivate("Firefox")
WinSetOnTop("Firefox", "", 1)

If _FFConnect() Then
; version 1 / more flexible
  _FFXPath("//a[contains(.,'Connexions')]","",9)
  _FFClick("FFau3.xpath")
; version 2 / or simple
;  _FFClick('a','tag', 0)
EndIf
et voilà, le tour est joué!!

Merci à vous tous de votre participation / aide!


PS: petite précision, suite à la nouvelle version déposée de FF.au3, la commande s'est encore "simplifiée":

Code : Tout sélectionner

If _FFConnect() Then
        _FFClick(_FFXPath("//a[contains(.,'Connexions')]", "", 9))
etc..
voilà!