[VB.NET] WebBrowser et DocumentText [Résolu]

Messages postés
552
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
12 avril 2008
- - Dernière réponse : allthew3
Messages postés
552
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
12 avril 2008
- 11 févr. 2008 à 13:48
Bonjour à tous,

J'ai passé tout l'après-midi dessus mais rien à faire ...

J'aimerais récupérer le texte (le code-source) d'une page web, voici ce que je fait :

Navigateur est un contrôle WebBrowser

Public Function ...()
   ' ...
   Navigateur.Navigate(http://www.google.fr)

   Navigateur.DocumentText
   ' ...
End Function

Cependant, comme vous pouvez le voir le Navigateur n'a pas le temps de charger la page ... j'ai dejà essayer de faire avec l'évenement DocumentCompleted mais je suis obliger de faire attendre ma fonction et j'y arrive pas (je bloque le Thread)

Si quelqu'un pouvait m'aider ça serait vraiment bien

En fait mon problème c'est surtout de ne pas quitter la fonction ... peut-être faut-il séparé les Threads ? comment savoir si le navigateur a fini dans ce cas là ? ...

Merci d'avance
Cordialement.
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
14594
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
16 novembre 2019
137
3
Merci
Bonjour

Il n'y a pas une classe dans System.Web ou une une classe qui se nommeraus un truc du genre Http* qui ferais le même chose, mais sans le graphique ?

Car ce controle est destiné à êtrte utilisé sur une form, bien que je n'ai pas encore eu à traiter cette problèmatique, je pense qui dans le Framwork il y a moyen de faire cela sans ce controle.

Cela touche aux limites de ma connaissance de ce sujet.

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site

Dire « Merci » 3

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

Codes Sources 205 internautes nous ont dit merci ce mois-ci

Commenter la réponse de NHenry
Messages postés
14594
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
16 novembre 2019
137
0
Merci
Bonjour

Il n'y a pas une propritété qui aurais un nom du type "IsBusy" ou "IsWorked" ?
Je penses que c'est prévu.

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
Commenter la réponse de NHenry
Messages postés
552
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
12 avril 2008
1
0
Merci
Oui y'a IsBusy mais qu'est-ce que je fait avec ?

Do While Navigateur.IsBusy = true
   Thread.Sleep(100)
Loop

=> ça bloque le thread, y compris le Navigateur (boucle infinie)

Merci d'essayer de m'aider
Commenter la réponse de allthew3
Messages postés
14594
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
16 novembre 2019
137
0
Merci
Bonjour

Do while Navigateur.IsBusy
    Application.Doevents()
loop

Ca marche ?

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
Commenter la réponse de NHenry
Messages postés
552
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
12 avril 2008
1
0
Merci
Non parce que je suis dans une Class (qui sera compilée en librairie)

Public Class MoteurInternet
   Private Navigateur as New Windows.Forms.WebBrowser
' ...

End Class
Commenter la réponse de allthew3
Messages postés
552
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
12 avril 2008
1
0
Merci
En faisant

Dim Navigateur As New System.Net.WebClient
Navigateur.DownloadString("adresse")

ça a l'air de marcher ... je test en profondeur si les résultats sont toujours identiques ou pas et je te dis ce qui se passe

en tout cas merci, je connaissais pas du tout la classe System.NET
Commenter la réponse de allthew3
Messages postés
552
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
12 avril 2008
1
0
Merci
C'est bon ça marche parfaitement

Merci à toi NHenry
Commenter la réponse de allthew3