begin process at 2010 02 10 02:38:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Réseau & Internet

 > 

Internet

 > 

Ecrire dans un formulaire IE


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Ecrire dans un formulaire IE

mercredi 21 mai 2008 à 17:40:09 | Ecrire dans un formulaire IE

vmsn

Bonjour,

Je viens vers vous car je n'arrive vraiment pas à solutionner mon problème... Je monte une petite appli pour ma boite, qui permettra en cliquant sur un bouton, d'ouvir le navigateur web par default, d'aller sur une page. Jusque là pas de problèmes. Ensuite dans cette page, il y a un formulaire bateau (login/pass). un javascript empeche de faire http://monsite.com/mapage.php?login=xxx&pass=xxx sinon je l'aurais fait bien évidemment.

Ma question est la suivante, Est-il possible et si oui comment que delphi puisse une fois la page chargée, remplir les deux champs qui se nomme USERNAME et PASSWORD et cliquer sur le bouton "login" afin que je puisse faire une sorte "d'auto-authentification"?

J'ai fais quelques tests en passant par les HANDLE, mais je n'arrive pas à accéder à ces fameux champs et encore moins au bouton...


Merci pour vos réponses
mercredi 21 mai 2008 à 20:15:11 | Re : Ecrire dans un formulaire IE

sky7rip

Membre Club
Plop mec,

Pour ce genre de programme je te conseillei plutôt d'aller voir du côté d'AutoIT,(remplir deux champs et cliquer sur un bouton avec delphi ca fait usine à gaz), c'est un petit language de scripting vraiment simple qui ressemble un peu au C/C++, et monstrueusement efficace, qui te permet de créer des GUI et de cliquer sur des zones à l'ecran, envoyer des caractères dans une form itou itou...  En un week end et avec les exemples fournis avec le log tu as fait le tour du bouzin, et y'a moyen de s'éclater . En plus tu peux compiler et sortir un petit exe.

Voici le lien : [ Lien ]

Bon courage et bon coding.

sky
mercredi 21 mai 2008 à 20:55:33 | Re : Ecrire dans un formulaire IE

vmsn

Le probleme c'est que mon employeur a mis dans son cahier des charges.... delphi :) alors il faut que je trouve une solution... mais je vais jeter un oail a ton lien merci
mercredi 21 mai 2008 à 21:29:37 | Re : Ecrire dans un formulaire IE

f0xi

Membre Club Administrateur CodeS-SourceS

Delphi > WebBrowser > charger la page > ensuite modifier le formulaire et send it.



mercredi 21 mai 2008 à 21:52:21 | Re : Ecrire dans un formulaire IE

vmsn

Oui mais je ne veux pas de browser dans l'appli mais simplement modifier un IE ou FF ouvert à l'extérieur...
jeudi 22 mai 2008 à 08:18:41 | Re : Ecrire dans un formulaire IE

L_art_ment

Bonjour Vmsn,

   Jadis (y a quelques mois), j'eu fait un programme qui me permettait d'ouvrir une page internet, qui parcourait les champs de la page, et en fonction de leur nom (connus grace à la source de la page), si le nom du champs était par exemple "username", je lui assignais la valeur que je voulais, j'avais une case à cocher aussi que je cochais, puis je simulais un clic sur le bouton "envoyer" grace à son ID (connu aussi grace à la source), mais dans mon cas j'ouvrais la page dans un Webbrowser, mais peut être est-il possible d'utiliser la même méthode pour une page "exterieur" au programme en récupérant son handle ou le nom de la page ou je ne sais quoi, bref si ca t'interesse je pourrais peut être en retrouver la source et te mettre sur la voie...

   Bonne journée !

L'Art-Ment
jeudi 22 mai 2008 à 10:20:22 | Re : Ecrire dans un formulaire IE

vmsn

Ha oui je veux bien, c'est d'ailleurs dans cette voie que je me dirige actuellement... ou encore j'ai peut etre une autre solution : récupérer le HANDLE et avec des "sendmessage" envoyer des tabulations pour arriver aux champs voulus et y écrire ce qu'il faut.
jeudi 22 mai 2008 à 13:41:27 | Re : Ecrire dans un formulaire IE

vmsn

Donc voilà ou j'en suis actuellement : je vais appelé mon appli "A"

- A vérifie que IE est exécuté et qu'une de ses fenêtre à dans son titre "Authentification"
- Si non elle lance l'URL en question dans une nouvelle fenetre, Si oui elle cherche ses enfants pour trouvé la frame principale de IE puis scan cet enfant pour trouver la page principale de IE
- A met la fenetre IE au premier plan et donne le focus à la page.

Je suis maintenant bloqué, j'essaie de lancer une tabulation sur ma page pour me retrouver sur le premier champs mais pas de résultat, j'ai testé deux méthodes trouvées ici :

Keybd_event(VK_TAB, 0, KEYEVENTF_KEYUP, 0); apres avoir donné le focus à ma page

et

SendMessage(hEnfant, WM_KEYDOWN,VK_TAB,1);
SendMessage(hEnfant, WM_KEYUP,VK_TAB,1);

Aucune des deux méthodes ne fonctionne... je vais me faire hara kiri
jeudi 22 mai 2008 à 14:14:08 | Re : Ecrire dans un formulaire IE

cirec

Membre Club Administrateur CodeS-SourceS
Salut,

essaye comme ceci :
Keybd_event(VK_TAB, 0, 0, 0); // Key Down
puis
Keybd_event(VK_TAB, 0, KEYEVENTF_KEYUP, 0); // Key Up

mais je pense aussi que la méthode "externe" n'est pas facile voir impossible (pas de gestion d'erreurs, pas d'évènement de fin de chargement de page ... etc)
il serait préférable de passer par un TWebBrowser "en interne" ... en tout cas c'est plus simple ^^

 
@+
Cirec

jeudi 22 mai 2008 à 16:27:51 | Re : Ecrire dans un formulaire IE

yvessimon

Réponse acceptée !
Bonjour,

En simulant les déplacements souris et les touches clavier il est possible
de remplir les cases souhaitées puis de valider .
ceci en utilisant les focntions :
keybd_Event(vk_tab,0,0,0);
keybd_Event(VK_NUMPAD4,0,0,0);
setCursorPos(X ,y ) ;
Mouse_Event(MOUSEEVENTF_Leftdown,0,0,0,0);
keybd_Event(VK_NUMPAD4,0,0,0);

Par contre avec une liste déroulante du type combobx quelle fonction utiliser ?

Merci

1 2

Cette discussion est classée dans : bouton, page, login, formulaire, ecrire


Répondre à ce message

Sujets en rapport avec ce message

Ecrire dans un bouton [ par magicvinni ] Question facile...sauf pour moi, je voudrait mettre plusiers lignes de text dans un bouton est ce possible?Merci d'avanceMagicVinni WebBrowser Input [ par Pipoo ] Bonjour à tous,Alors, je commence par la description :-dans mon appli, j'utilise un TWebBrowser pour afficher une page-j'ai trouvé un code qui permet comment ouvrir une nouvelle page en cliquant sur un bouton [ par xyowz ] Voila je débute en delphi j'en fais depuis moins d'une semaine et je ne trouve pas comment on fait pour ouvrir une nouvelle page avec une nouvelle ima thread ou pas thread ?????? [ par xklibur ] hello,ben voila, je sais pas quo faireEn fait j'ai un formulaire avec des boutons (woaw)et quand je clique sur un bouton, ca doit ouvrir un autre form ActiveX et TWebBrowser [ par charpy49 ] Bonjour à tous,Je voudrai pouvoir créer un ActiveX contenant un browser WEB qui pointe sur une URL prédéterminée. La page sur laquelle je pointe conti progressbar et timer [ par guigui265 ] Bonjour,j'ai sur mon formulaire un progressbar,un timer et un bouton,entre autres.Coomment faire pour que,sur le clic du bouton, la progressbar progre lien internet via un bouton [ par pseudoOM ] Bonjour à tous. Ma question est la suivante : Est-il possible de mettre un lien vers une page internet sur un bouton ? Donc lorsque je clic sur ce bou instancier une fiche [ par hajeur_abd ] Salut,je  veux savoir comment acceder a une même formulaire a fin de cliquer sur un bouton,c.a.d si je clique sur le bouton 2 fois , 2 formulaire s'af Page qu'on ne sait pas agrendire qu'avec la croit rouge [ par astuces_jeux ] Bonjour, J'aimerai faire un liens qui mène ver une page qu'on ne sait pas agrendire et il n'y ai que la croit rouge pas le bouton réduire ni si la fen


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales