cs_Pipoo
Messages postés5Date d'inscriptionjeudi 10 juillet 2003StatutMembreDernière intervention 5 septembre 2003
-
29 juil. 2003 à 15:12
cs_kabal
Messages postés1Date d'inscriptionsamedi 22 mars 2003StatutMembreDernière intervention12 février 2004
-
12 févr. 2004 à 22:35
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 de récuperer le texte de la page :WebBrowser.oleobject.document.body.innertext
ma question :
est ce que c'est possible de recuperer tous les objets de la page internet (les INPUT (bouton, zone de texte)), et de modifier leur valeur.
par exemple, pour un bouton de la page, peut on par delphi simuler un clic sur ce bouton
et pour une zone de texte, peut on grace à delphi, mettre du texte dedans (et le recuperer) ?
En attendant vos réponses. :)
A bientot, et ne codez pas trop ;)
cs_niko72
Messages postés16Date d'inscriptionmercredi 9 avril 2003StatutMembreDernière intervention20 juillet 2004 29 juil. 2003 à 17:20
salut pipoo,
pour recuperer les objets d'une page,
je peux t'en donner qq'uns:
Liens:
nombre de liens:webbrowser1.oleobject.Document.links.length
accéder à un lien:webbrowser1.oleobject.Document.links.item(i)
Images:
nombre:webbrowser1.oleobject.Document.images.length
1 image:webbrowser1.OleObject.document.images.item(i)
sa hauteur: webbrowser1.OleObject.document.images.item(i).height
son nom:
nomimage:=webbrowser1.OleObject.document.images.item(i).nameprop
sa taille: webbrowser1.OleObject.document.images.item(i).filesize
son adresse:
adresse:=webbrowser1.OleObject.document.images.item(i).src
Telecharger cette image:
urldownloadtofile(nil,Pchar(adresse),Pchar('E:\repertoire\de\stockage\'+nomimage),0,nil);
...
Pour le texte, t'as deja trouvé.
Simuler un click, c'est aller sur la page referencée par le lien du bouton donc WebBrowser1.navigate(lien du bouton)
Si tu veux remplir un formulaire en automatique,
tu peux utiliser un sequenceur qui simule le clavier et la souris, tu en trouveras sur ce site
Si le click d'envoi du formulaire passe les paramètres input dans la barre d'adresse, tu peux te diriger vers ce lien en remplissant toi-meme ces parametres :
je m'explique, si dans google tu tapes delphi, le clic du bouton t'envoie sur une page dont l'adresse est "http://www.google.fr/search?q=delphi&ie=ISO-8859-1&hl=fr&meta="
et toi pour simuler l'ecriture de delphi dans la zone de texte et le clic sur le bouton, tu peux utiliser simplement
monmotaenvoyer:='delphi';
WebBrowser1.navigate('http://www.google.fr/search?q='+monmotaenvoyer+'&ie=ISO-8859-1&hl=fr&meta=');
si c un formulaire plus complexe, c pareil, tu auras http://www.site.com/machin?nom=tonnom&prenom=tonprenom&adresse=tonadresse&codepostal=toncodepostal...etc... a toi de bien trouvé quels prametres correspondent à quels champs puis de creer le lien adequat et utiliser webbrowser1.navigate(tonlien); ...
mais ceci ne marche pas pour tout les formulaires, cela depend si c'est perl, cgi, ...
qd tu click sur un bouton envoi d'un formulaire, tu utilise la methode post ou get, que tu peux simuler egalement avec Telnet en utilisant un composant indy
voila deja qques elements de reponse
je pense ne pas avoir été super clair, mais en cas de souci, je pourrais peut-etre detailler un peu plus certains points
sur ce, bonne prog
niko
cs_Pipoo
Messages postés5Date d'inscriptionjeudi 10 juillet 2003StatutMembreDernière intervention 5 septembre 2003 30 juil. 2003 à 13:49
Merci beaucoup !! ça fait pas mal de nouveau truc à tester :)
Mais ... ya toujours un "mais"
je vois que sur Document :
document.IMAGES.item(i). permet de récuperer les Images
document.LINKS.item(i). permet de recuperer les Liens
est ce qu'il y a un mot clef pour les Boutons et Champs textes
par exemple, je voudrais recuperer le troisieme champs texte de la page, et y mettre le texte : "toto"
sans simuler le clavier et la souris ;)
tu dis : "qd tu click sur un bouton envoi d'un formulaire, tu utilise la methode post ou get, que tu peux simuler egalement avec Telnet en utilisant un composant indy"
si je peux simuler le clic sur ce bouton, il faut que je le recupere avant ? Telnet permet de le faire ?
Je ne connais pas ce composant, tu pourrais m'en dire plus
est ce que tu aurais de la doc sur le WebBrowser, le telnet
et sur les webbrowser1.OleObject.document...
tout les parametres possibles ?
je ne peux pas t'en dire vraiment plus, moi j'ai plutot travaillé sur les images et pas trop sur les formulaires,
donc bonne lecture et bon courage ;)
niko
cs_Pipoo
Messages postés5Date d'inscriptionjeudi 10 juillet 2003StatutMembreDernière intervention 5 septembre 2003 2 août 2003 à 16:11
merci bcp Niko,
j'ai trouvé mon bonheur dans les liens que tu m'as filé
seul petit pb, il me reste toujours à simuler la validation du formulaire. c'est à dire à simuler l'appuie sur le bouton de validation.
tu m'avais parlé de Telnet pour simuler le "post", pouraris tu m'en dire plus, parce que je ne connais rien du tout sur ce composant. Et je sais pas ou chercher sur le net.
Vous n’avez pas trouvé la réponse que vous recherchez ?