Simuler clic de la souris dans une fenetre Internet
cs_rapidos
Messages postés15Date d'inscriptionjeudi 2 janvier 2003StatutMembreDernière intervention19 octobre 2007
-
4 nov. 2006 à 17:06
MuPuF
Messages postés536Date d'inscriptionmercredi 27 avril 2005StatutMembreDernière intervention22 août 2008
-
8 nov. 2006 à 09:44
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.
cs_badrbadr
Messages postés475Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention 3 novembre 20081 5 nov. 2006 à 04:00
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
cs_rapidos
Messages postés15Date d'inscriptionjeudi 2 janvier 2003StatutMembreDernière intervention19 octobre 2007 5 nov. 2006 à 10:57
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
MuPuF
Messages postés536Date d'inscriptionmercredi 27 avril 2005StatutMembreDernière intervention22 août 2008 8 nov. 2006 à 09:44
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®