Lire contenu d'une page web dans WebBrowser [Résolu]

Messages postés
552
Date d'inscription
samedi 8 janvier 2005
Dernière intervention
12 avril 2008
- - Dernière réponse : allthew3
Messages postés
552
Date d'inscription
samedi 8 janvier 2005
Dernière intervention
12 avril 2008
- 3 juil. 2007 à 18:48
Bonjour,

Je cherche à lire la source du fichier contenu dans un WebBrowser :
j'ai essayer DocumentStream, DocumentText ... pas moyen !
Y'a-t-il un moyen ?

Merci d'avance
Afficher la suite 

Votre réponse

16 réponses

Meilleure réponse
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
3
Merci
cela ne m'etonne pas...

attends que la page arrive...
Navigate rend la main tout de suite, mais le document n'est pas encore là.

tu remarqueras que mon test attend l'evenement WebBrowser1_DocumentCompleted

fais le test, dans ton code :

ShowMyIP.Navigate("http://www.whatismyip.org" )
MsgBox("Merci de patienter quelques secondes avant de valider")
MsgBox(ShowMyIP.DocumentText)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 105 internautes ce mois-ci

Commenter la réponse de Renfield
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
0
Merci
voir InnerHTML

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Commenter la réponse de Renfield
Messages postés
552
Date d'inscription
samedi 8 janvier 2005
Dernière intervention
12 avril 2008
0
Merci
??
Commenter la réponse de allthew3
Messages postés
552
Date d'inscription
samedi 8 janvier 2005
Dernière intervention
12 avril 2008
0
Merci
tu vois où InnerHTML ?
Commenter la réponse de allthew3
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
0
Merci
ben dans la doc, pardi ^^

http://msdn2.microsoft.com/en-us/library/ms535255.aspx

allez, un petit exemple, parce que tu m'a l'air un peu perdu...
(exemple en VB6, mais tu manipules le DOM, derrière, peu importe le langage, le principe est le même)

Private Sub Form_Load()
   WebBrowser1.Navigate "http://www.google.com"
End Sub<hr />
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Dim oDoc As HTMLDocument
   Set oDoc = WebBrowser1.Document
   If oDoc.hasChildNodes Then
       MsgBox oDoc.childNodes.Item(0).innerHTML
   End If
End Sub , ----
By Renfield

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Commenter la réponse de Renfield
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
0
Merci
l'exemple ci-dessus va afficher le code contenu dans les balises

<HTML>

</HTML>

du document... je dis pas que c'est LA solution, c'est un moyen possible de retrouver son code HTML.....

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Commenter la réponse de Renfield
Messages postés
552
Date d'inscription
samedi 8 janvier 2005
Dernière intervention
12 avril 2008
0
Merci
ChildNotes n'existe pas en VB.net ...
Commenter la réponse de allthew3
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
0
Merci
t'as pas de bol, t'as un DOM rien qu'à toi ?? ^^

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Commenter la réponse de Renfield
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
0
Merci
j'ai pas fait

WebBrowser1.Document.ChildNodes

Document est de type IUnknown... donc rien n'apparaitra dans l'intellisense.

le WebBrowser que tu utilise....c'est le même qu'en VB6, c'est le même composant COM, donc tu AS forcément ChildNodes...

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Commenter la réponse de Renfield
Messages postés
552
Date d'inscription
samedi 8 janvier 2005
Dernière intervention
12 avril 2008
0
Merci
non : le compilateur m'indique une erreur ... (childnotes ET childnodes ...)
Commenter la réponse de allthew3
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
0
Merci
t'aurais un bout de code, et le texte du compilo ?

(childnotes n'existe pas, on est d'accord...)

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Commenter la réponse de Renfield
Messages postés
552
Date d'inscription
samedi 8 janvier 2005
Dernière intervention
12 avril 2008
0
Merci
Erreur 3 'hasChildNodes' n'est pas un membre de 'System.Windows.Forms.HtmlDocument'. D:\Users\Jerem\Documents\Visual Studio 2005\Projects\LiveKill3\LiveKillGUI\LiveKillGUI\Principal.vb 142 28 LiveKillGUI

Erreur 4 'childNodes' n'est pas un membre de 'System.Windows.Forms.HtmlDocument'. D:\Users\Jerem\Documents\Visual Studio 2005\Projects\LiveKill3\LiveKillGUI\LiveKillGUI\Principal.vb 143 36 LiveKillGUI

Dim

oDoc
As HtmlDocument = ShowMyIP.Document

If oDoc.hasChildNodes
ThenMsgBox(oDoc.childNodes.Item(0).innerHTML)

End
If
Commenter la réponse de allthew3
Messages postés
6812
Date d'inscription
vendredi 16 décembre 2005
Dernière intervention
21 décembre 2011
0
Merci
regarde dans l'explorateur d'objets ce que tu as en équivalent de la propriété hasChildNodes en dotnet.
Ps : MsgBox
est modifié par MessageBox.Show()

@++

<hr size="2" width="100%" />( Nouveau forum : Exclusivement Office & VBA
Commenter la réponse de mortalino
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
0
Merci
y'a pas a dire, t'es un mec qui cherche dans ce que propose les objets, toi

tu m'a fait installer VB2005 juste pour ça ?

Private
Sub WebBrowser1_DocumentCompleted(
ByVal sender
As System.Object,
ByVal e
As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs)
Handles WebBrowser1.DocumentCompletedMsgBox(WebBrowser1.DocumentText)

End
Sub

Private
Sub Form1_Load(
ByVal sender
As
Object,
ByVal e
As System.EventArgs)
Handles
Me.LoadWebBrowser1.Navigate(

"www.google.com")

End
Sub

l'explorateur d'objets te l'aurait dit, pourtant...

Public Property DocumentText() As String
Membre de : <gras>System
.<gras>Windows
.<gras>Forms
.
<gras>WebBrowser


Résumé :

Obtient ou définit le contenu HTML de la page affichée dans le contrôle System.Windows.Forms.WebBrowser.

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Commenter la réponse de Renfield
Messages postés
552
Date d'inscription
samedi 8 janvier 2005
Dernière intervention
12 avril 2008
0
Merci
même DocumentText me renvoie pas la source :
je vais sur whatismyip.org dans un webbrowser invisible, pour obtenir mon IP

voici le code :


If
My.Computer.Network.IsAvailable
And
My.Computer.Network.Ping(
"www.whatismyip.org")
Then



ShowMyIP.Navigate(




"http://www.whatismyip.org"
)MsgBox(ShowMyIP.DocumentText)

ShowMyIP.Visible =


True



' debug

InfosPC.Text = InfosPC.Text & vbCrLf &




My
.Resources.ip &

""



' System.Net.Dns.GetHostByName(System.Net.Dns.GetHostName).AddressList.GetValue(0).ToString






End



If
Commenter la réponse de allthew3
Messages postés
552
Date d'inscription
samedi 8 janvier 2005
Dernière intervention
12 avril 2008
0
Merci
joli ! exactement ça ^^
merci renfield (désolé pour le dérangement )

++
Commenter la réponse de allthew3

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.