Simuler clic de la souris dans une fenetre Internet

Signaler
Messages postés
15
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
19 octobre 2007
-
Messages postés
536
Date d'inscription
mercredi 27 avril 2005
Statut
Membre
Dernière intervention
22 août 2008
-
Salut a tous,
Dans le cadre d'un mes programmes j'ai besoin d'automatiser la navigation au travers de différents sites . Pour se faire j'ai examiné chaque code source des différentes pages (notamment les JS) et j'arrive a simuler la navigation SAUF si le code javascript est modifié au quel cas je n'ai plus le bon algo et ducou tout plante !

Alors biensur je pourrais simuler la souris pour qu'elle clique sur les liens mais ce n'est vraiment pas intéressant, déja parceque cela monopolise un ordinateur (forcément si la souris s'affole dans tous les sens on peux rien faire d'autre) et puis idem, si un bouton ou un lien change de place c'est foutu ...

Donc ma question en fait est la suivante:
Lorsque je clique sur un lien qui appel un javascript mon navigateur détecte que j'ai cliqué sur ce fameux lien et lance le JS, n'y aurait-il pas moyen de lancer des JS directement en les appelant via mon programme et meme si besoin est en lui passant les paramètres nécessaire ? Le tout dans une fenetre qui biensur est voué a finir dans le systray ...

J'ai posté cette question dasn la section CPP mais si quelqu'un a une idée de comment le réaliser dans nimporte quel autre language ca me va, le preferable étant que cela fonctionne sous linux (ubuntu) ....

Merci a toute âme charitable qui pourrait m'apporter un petit coup de pouce.

Rapidos

3 réponses

Messages postés
475
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
3 novembre 2008

C le genre d'affaires assez complexe à réaliser, surtout si t'es sur Linux.
À l'adresse suivante, la question ressemble un peu à la tienne. La solution y est donné. Le seul hic est que ça ne fonctionne que sous Windows avec .Net
http://www.csharpfr.com/infomsg_COMMENT-SELECTIONNER-PLUSIEURS-ITEMS-DANS-LISTBOX-WEBBROWSER_834166.aspx
Si tu dois absolument le faire sur linux, la meilleure option n'est pas d'ouvrir un navigateur et de simuler les clics mais bien de directement faire des requêtes get vers le serveur http.
Par exemple, au lieu de simuler le remplissage d'un formulaire et ensuite simuler le clic sur le bouton Submit, il suffit de faire une requête sur www.tonsiteweb.com/processform.php?name=chosebinouche&age=45

J'espère que c clair :)
Bonne chance...

[:D] @++
Messages postés
15
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
19 octobre 2007

Yep merci pour ton lien, en effet cette méthode pourrait se rapprocher de cedont j'ai besoin ... Je vais essayer de me pencher un peu sur la question ...

Et la méthode du get c'est celle que j'utilise mais ce n'est pas assez optimisé a cause du fait que  c'est moi qui génère la valeur des champs et que ce n'est pas toujours la bonne .... :(

Etant donné que je n'ai ni windows (pour le moment) ni .net et jamais programmé sous C# si quelqu'un a une autre idée je suis preneur ... En attendant je vais resortir mon vieux bouquin de C# pour les nuls (je savais qu'il finirait par me servir :p) et fouiller un peu a droite a gauche pour retrouver le cd de windows

Merci encore pour ta réponse et ta rapidité
@+

Rapidos
Messages postés
536
Date d'inscription
mercredi 27 avril 2005
Statut
Membre
Dernière intervention
22 août 2008

hello, la meilleure technique est aussi la plus simple à mon gout.
Ouvrir la page grace aux sockets et envoyer la commande Get (lire la RFC html) sur la page dont tu veux ouvrir le lien.
Tu recherches dans la page le texte qui t'interesse, et tu refais un un get sur le lien dans la balise MuPuF®