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

VB.NET et VB 2005

 > 

Windows

 > 

Formulaire / Winforms / Controls

 > 

WebBrowser et accent


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

WebBrowser et accent

jeudi 17 mai 2007 à 09:15:27 | WebBrowser et accent

Tef

Bonjour, je cherche depuis 3 jours une solution à mon pb mais en vain. Je veux récupérer les sources HTML pour ensuite récupérer certaines informations dans le but de faire un logiciel de gestion de jeux vidéos. Bref je fais un simple : me.txtSource.Text = Me.WebBrowser.DocumentText txtSource est mon champ texte multiligne qui va contenir le code source. Si je regarde le contenu de mon champ texte après chargement de ma page web, je n'ai aucun accent dans mon champ texte en multiligne. Par exemple , pour Jeu vidéo, je vais voir s'afficher Jeu vido. plus de é !! les à on disparut, etc... J'ai même essayé de changer mon champ texte en RichTextBox au cas où mais bon, je n'y croyais pas trop. Je ne sais pas si cela vient de l'encodage Charset qui n'est pas en UTF8 sur certain site. Mais ça m'étonnerais qu'on ne puisse pas récupérer le texte sans garder les accents... De plus, ce pb est génant dans la mesure ou certains sites vont t'afficher 1 à 2 joueurs ou 1 à 3 joueurs. Pour tester ça, comme c'est très variable, c'est pas possible. Pareil, bcp de site n'utilise pas les balise Div avec id donc la méthode HtmlDocument.GetElementById est inutilisable... Et comme je ne suis pas un pro du VB.net, je me casse un peu les dents dessus mais étant collectionneur de jeux vidéos et aimant le dev, c'est un beau défi :) Merci à vous pour vos réponses. Stéphane
jeudi 17 mai 2007 à 10:05:07 | Re : WebBrowser et accent

FREMYCOMPANY

Réponse acceptée !

Essaie ça :
WebBrowser.Document.DomDocument.documentElement.outerHTML

Sinon, passe par les transformateurs d'encodage : 
Avec "WebBrowser.DocumentStream", tu récupères le contenu HTML sous forme de tableau de Bytes, puis tu utiliser System.Text.Encoding pour tenter différentes converstion...

Pour trouver l'encodage :
- HEADERS
- BALISES META
- BALISE <?xml ?>

Note que si tu veux juste la source de la page, pas besoin d'utiliser un WebBrowser, ajouter MSXML2 à tes ressources de projet et crée une instance de XMLHttpRequest; ensuite, ca fonctionne comme AJAX ;-)   

jeudi 17 mai 2007 à 10:27:37 | Re : WebBrowser et accent

Tef

Génial merci !!! J'avais trouvé DocumentStream mais étant débutant je n'ai pas trouvé d'explication à cette méthode. Sais-tu où je pourrais trouver des informations avec exemples pour DocumentStream et XMLHttpRequest ? Je ne sais pas comment fonctionne tout ça et je suis très curieux :) Et puis mon application pourrait en être que plus alléger au niveau code je pense si c'est plus rapide et moins de contrôle à utiliser ! Merci par avance à toi et merci encore pour cette réponse ! Stéphane
jeudi 17 mai 2007 à 14:04:43 | Re : WebBrowser et accent

FREMYCOMPANY

Réponse acceptée !
Document Stream :
- Voir System.IO.Stream [MSDN; Google; ...] et System.IO en général
- Ca fait longtemps que je n'ai plus utilisé de Stream, mais je crois que tu dois utilser StreamInstance.Read(ByRef_ResultAsArrayOfBytes, TheLenghthOfTheStream)

XMLHTTPREQUEST : Voir AJAX
- Tu devrais trouver très facilement plein de tutoriels sur le web, mais en JavaScript. Ca ne fait rien, ca marche aussi pour VB .NET !
- Voila un exemple de code :
Dim Xhr as new MSXML2.XMLHttpRequest()
Xhr.Open("POST", TheUrl, false)
Xhr.Send(PostDataAsStringOrNothing)
' Le resultat :
' Xhr.responseText : la source de la page en tant que String
' Xhr.responseBody : la source de la page en tant qu'Array(Of Bytes)
' Xhr.responseStream : une sorte de Stream mais "version JavaScript", eviter de l'utiliser



_____________________
Fremy

jeudi 17 mai 2007 à 14:50:54 | Re : WebBrowser et accent

Tef

Merci bcp ! Avec tout ça, je devrais pouvoir me débrouiller :) Merci encore à toi pour ton aide ;) Stéphane
mardi 29 mai 2007 à 18:39:59 | Re : WebBrowser et accent

brice2nice4

Salut j'aimerais recuperer dans un text box ou autre (label, variable..) le contenu d'une page web. J'ai charger ma page dans un webbrowser (webbrowser.navigate "http://....") et j'ai essayer la propiete webbrowser.document pour recuperer le contenu de la page html mais je n'optien a chque fois que [object]. Pouriez vous m'expliquer comment marche le controle. Merci

 

mardi 29 mai 2007 à 19:41:32 | Re : WebBrowser et accent

FREMYCOMPANY

WebBrowser.documentText ==> Contenu HTML
WebBrowser.Document ==> Contenu "Wrappé" en .NET depuis COM du DOM (ou Document Object Model)
WebBrowser.Document.DomDocument ==> Contenu COM au format DOM (Comme n'importe quel javascript)

Donc,
''' PSEUDO-CODE
Protected Property DotNetDocument() as HTMLDocument = WebBrowser.Document
Protected Property Document() as Object = WebBrowser.Document.DomDocument

Document.getElementById('ID') ou Document.getElementsByName("NAME") ou Document.getElementsByTagName("INPUT") ou Document.all.xyz


_____________________
Fremy


Cette discussion est classée dans : accent, récupérer, texte, champ, webbrowser


Répondre à ce message

Sujets en rapport avec ce message

Mettre un espace tous les 3 caractères [ par stella ] Salut les copains,voilà je dois récupérer les données d'un champ texte (jusque là pas de problème) et les mettre en forme du style les 3 premiers cara récupérer un texte sélectionné dans webbrowser [ par mdaigre ] Bonjour,J'aimerais savoir comment récupérer un sélection dans un webbrower pour pouvoir surligner ou annoter le texte sélectionné.Merci à tous ceux qu récupérer sélection champ access [ par timotep ] Bonjour,Voici mon problème :Je voudrais savoir s'il est possible en vba, dans access, de récupérer le texte sélectionné d'un textBox sur un formulaire Mise en forme d' un champ texte [ par LIBRE_MAX ] Bonjour, Bonsoir, J' ai un champ Texte qui est le résultat de la concaténation de cinq autres champs de type numériques.Le problème se situe au nive Récupérer le Texte d'une TextBox pour l'envoyer dans la Textbox d'une autre Form [ par Dri60 ] Bonjour, ma question est simple mais compliquée à exprimer  Alors voilà : Dans une Form1, j'ai une Textbox1 qui contient du Texte. Ce texte, je voudra Erreur sur variable indexée VB 2008 Express [ par Blagapar ] Bonjour,Je m'arrache les cheveux avec Visual Basic. Je maitrisais bien dans ma jeunesse le QBASIC et le 8088, mais la programmation objet faisant et l Recherche d'une valeur [ par virnini9 ] Bonjour ! J'ai réussi à télécharger le texte d'une page web dans une page excel. Je souhaiterai récupérer ces valeurs sauf que le texte ne se met pa Touche entrée sur une boite de texte d'un webbrowser [ par 6h ] Salut à tous,Je suis débutant mais je vais essayer d'être clair. Je souhaite valider une entrée (comme par exemple une recherche google... pas sûr que nbre maxi caractère champ texte (que 255) j'allucine ? access [ par vercomax ] bonsoir,le nombre maximum de caratère que l'on peux entrer dans un champ de type texte sous access n'est que de 255 caratères ?j'allucine ou pas ?merc


Nos sponsors


Sondage...

Comparez les prix

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,952 sec (4)

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