Flocreate
Messages postés300Date d'inscriptionlundi 17 juillet 2006StatutMembreDernière intervention27 mai 2012
-
30 juin 2009 à 22:03
Flocreate
Messages postés300Date d'inscriptionlundi 17 juillet 2006StatutMembreDernière intervention27 mai 2012
-
2 juil. 2009 à 22:52
Bonjour a tous,
Mon problème est simple, je souhaite récupérer un texte affiché dans une page Web.
J'utilise un WebBrowser qui m'ouvre parfaitement la page et est capable de me donner le code source.
Mais voila, le code source ne contient pas le texte.
comme le texte est affiché, on doit bien pouvoir le lire quelque part
et comme de bien entendu, je me refuse a faire un pilotage de la souris qui irait sur briller le texte , un Ctrl C, un ctrl V et un import a partir du press papier
en sachant que le but est que le browser reste caché...
Alors, comment puis-je faire pour récupérer le texte affiché genre le "AdelaTerre" ou le "74 par heure"
Flocreate
Messages postés300Date d'inscriptionlundi 17 juillet 2006StatutMembreDernière intervention27 mai 20123 30 juin 2009 à 23:54
hihi, e bien non, j'ai les yeux coolés au débugger : loccal variables
mais ni dans les innerText ni dans innerHTML je ne trouve le texte affiché.
dans le innerHTML d'ailleur je trouve le code source de la page tel que marqué dans le post du départ ^^
afaire a suivre
Vous n’avez pas trouvé la réponse que vous recherchez ?
je ne sais pas a quel moment on obtient le html final. Je n'y connais pas grand chose en fichiers web.
cependant, je pense que c'est du php. donc en théorie du coté serveur non ?
en fait je n'ai pas fait de test avec d'autre URL, je reste sur la page qui m'intéresse.
mais je persiste, si le Webbrowser affiche c'est qu'il doit bien y avoir le code quelque part. non ?
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 1 juil. 2009 à 07:03
tout dépend de ce qui est affiché
si c'est de flash par exemple, il n'y a rien à chercher, pourtant à lire oui...
un bouton appelle une fonction javascript, du texte peut-être "dessiné" sur la page, ce sans générer un nouvel évènement "document_complete"
donc pareil, la "source" est la même avant et après le click, et pourtant pas le résultat visuel
je n'ai pas d'exemple d'url du même type sous la main
sans autre détail, je pencherai pour ta première piste : copier/coller
pour copier sans avoir la visibilité de la page :
Clipboard.Clear
Webbrowser1.ExecWB OLECMDID_SELECTALL, OLECMDEXECOPT_DODEFAULT
Flocreate
Messages postés300Date d'inscriptionlundi 17 juillet 2006StatutMembreDernière intervention27 mai 20123 1 juil. 2009 à 13:45
heu, une derniere chose ^^
j'ai un objet RichTextBox dont le nom est RTB
apres avoir fait les lignes
Clipboard.Clear
Webbrowser1.ExecWB OLECMDID_SELECTALL, OLECMDEXECOPT_DODEFAULT
Webbrowser1.ExecWB OLECMDID_COPY, OLECMDEXECOPT_DODEFAULT je fait
Form1.RTB.Text = Clipboard.GetText
mais le textbox reste vide
pourtant quand je le fait a la main (Ctrl+C ; Ctrl+V) , ça me le remplit
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 1 juil. 2009 à 14:19
... j'ai eu quelques difficultés à trouver la source du problème :
tu as des zones de texte (ou autres conteneurs), dont une a le focus (même si le navigateur est masqué)
lors du _SELECTALL, c'est donc le contenu de cette zone, vide sans doute, qui est sélectionné
il faudrait tricher pour changer ce focus, seulement pour çà
il faut
connaitre le nom des éléments, indiqués dans le script JS
alors le _SELECTALL fonctionnera, et le reste aussi
Flocreate
Messages postés300Date d'inscriptionlundi 17 juillet 2006StatutMembreDernière intervention27 mai 20123 1 juil. 2009 à 22:09
arf désolé pour le post ci dessus, c'est une fausse manip, si on peu le supprimer merci de le faire ou de me dire comment le faire
Concernant le sujet,
Pour continuer sur ta lancée PCPT :
la page contient 2 frames, peut être le prolème viens t'il du fait que il y a un objet vide dont le seul but est de contenir les frames. dans ce cas, il faudrait selectionner le frame adéquate et faire la procédure.
J'ai finalement trouvé un autre moyen
Référence nécéssaire : Microsoft CDO for Windows 2000 Library voici le code :
Dim message As New CDO.message
Call message.CreateMHTMLBody(WB.LocationURL, cdoSuppressImages, "", "")
Form1.RTB.Text = message.GetStream.ReadText
Set message = Nothing
je met un supress image parsqu'il code l'image en ascci et que ca ne me sert a rien ^^
si vous avez des commentaires, ils sont les bienvenus
Flocreate
Messages postés300Date d'inscriptionlundi 17 juillet 2006StatutMembreDernière intervention27 mai 20123 1 juil. 2009 à 22:29
A, c'est un code que j'ai repris, je l'ai bidouillé mais au final, je ne le connais pas.
Je ne saurais donc dire si Outlook est imposé.
De toute manière, outlook non installé empêche t il d'avoir la dll requise dans le répertoire de l'application ?
(bon, je suppose que la dll est propriétaire... le problème resterait donc le même)
Il y a tant a apprendre et seulement 24 heures dans une journée
VB6, quand yen a plus yen a encore
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 1 juil. 2009 à 23:09
j'ai raccourci par habitude, je pensais à outlook express
or quand on le désinstalle c'est par bidouilles (différents patches et autres appli maison), je ne sais pas si la dll est supprimée ni si , isolée, elle resterait fonctionnelle
Flocreate
Messages postés300Date d'inscriptionlundi 17 juillet 2006StatutMembreDernière intervention27 mai 20123 2 juil. 2009 à 00:35
ahaha,
maintenant que j'arrive a récupérer ce que je veux, je me nds compte de ce qui a mon avis faisait rater la procédure juste avec le web browser :
le fichier comporte 2 frames comme je le disais plus haut.
donc si je demande un Debug.print URL dans l'evenenement WebBrowser1_Document_Complete(...)
il me liste les pages chargées et la surprise :
1) il charge la page d'origine : le code que contient mon premier post
2) il charge le fichier qui m'interresse
3) il charge le frame de droite qui est une publicité --> addresse + ou - alléatoire
^^ que c'est compliqué tout cela ^^
VB6, quand yen a plus yen a encore
Il y a tant a apprendre et seulement 24 heures dans une journée
Flocreate
Messages postés300Date d'inscriptionlundi 17 juillet 2006StatutMembreDernière intervention27 mai 20123 2 juil. 2009 à 22:52
bon, ben j'ai pu mener mon projet a son terme, je vais d'ailleurs le poster ^^
Je souhaite remercier toutes les personnes qui 'mon aidé sur cette question.
bonne continuation a tous et a très bientôt sur VBFrance
VB6, quand yen a plus yen a encore
Il y a tant a apprendre et seulement 24 heures dans une journée