IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Attendre que la page web est fini de charger (Webbrowser)


Sujet :

VB.NET

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Lycéen
    Inscrit en
    Novembre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Attendre que la page web est fini de charger (Webbrowser)
    Bonjour à tous,
    je suis actuellement entrain d'essayer de créer un logiciel qui me permettra de voter sur un site. Le seul soucis c'est dès que je lance le programme, webbrower n'attends pas que la page est finie de charger avant même de lancer la suite des codes.. je me retrouve donc avec une ou deux étapes sur dix effectué. Étant débutante et ayant cherché toutes les possibilités sur les forums et autres, aucune n'était bonne pour moi. ^^

    Voici le début de mon code qui me permettra de me connecter et ensuite d'xp le compte sur lequel je serais connecté:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Public Class Form1
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Me.Text = "est en cours d'éxecution.."
            WebBrowser1.ScriptErrorsSuppressed = True
            WebBrowser1.Navigate("lien de connexion")
            While Not WebBrowser1.ReadyState = WebBrowserReadyState.Complete
                Application.DoEvents()
            End While
     
            Dim Input = WebBrowser1.Document.GetElementsByTagName("input")
            For Each separe As HtmlElement In Input
                Dim contenu As String = separe.GetAttribute("name").ToString
                If contenu = "pseudo" Then
                    separe.SetAttribute("Value", TextBox1.Text)
                End If
                If contenu = "pass" Then
                    separe.SetAttribute("Value", TextBox2.Text)
                End If
     
            Next
            Dim Btnvalider = WebBrowser1.Document.GetElementsByTagName("input")
            Dim count = 0
            For Each separe As HtmlElement In Btnvalider
     
                Dim contenu As String = separe.GetAttribute("type").ToString
                If contenu = "image" Then
                    separe.InvokeMember("click")
                End If
            Next
     
    Par exemple, j'aimerais que la page est finie de charger ici pour que la connexion au compte soit effectué avant de faire évoluer mon compte.
            If CheckBox2.Checked = True Then
                WebBrowser1.Navigate("lienxp")
            End If
    Pareil ici, j'aimerais que la page est finie de charger avant que le reste du code ne s'exécute.
    End Sub
    End Class
    Merci d'avance pour votre aide. :)

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 174
    Points : 25 115
    Points
    25 115

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Lycéen
    Inscrit en
    Novembre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci Pol62 pour votre réponse,
    mais malgré tout je ne comprends pas grand chose.. avec le peu que je "connais" j'ai essayé de rentrer les codes mais rien n'y fais des erreurs ont lieu ou bien tout s'exécute comme avant sans pause.

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 174
    Points : 25 115
    Points
    25 115
    Par défaut
    tu fais
    .navigate
    traitement


    il faut faire

    .navigate
    end sub


    private sub ... handles wb.navigated
    'navigated est un évènement déclenché quand la page est chargée donc quelques centaines de millisecondes plus tard que .navigate
    traitement

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour,

    private sub ... handles wb.navigated
    J'aurais plutôt mis le code du traitement dans l'event WebBrowser.DocumentCompleted :

    http://msdn.microsoft.com/FR-FR/libr...completed.aspx

    Navigated :
    Se produit lorsque le contrôle WebBrowser a navigué vers un nouveau document et a commencé à le charger.
    donc n'a pas terminé ...

  6. #6
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 174
    Points : 25 115
    Points
    25 115
    Par défaut
    ah oui je l'avais pas vu ^^

    et puis j'avais vu ca

    Navigated event occurs, the new document has begun loading, which means you can access the loaded content through the Document, DocumentText, and DocumentStream properties." data-guid="11dbf0c0bc9d69151f558092b937b0e2" class="sentence SentenceHover" id="mt4">Lorsque l'événement Navigated se produit, le nouveau document a commencé à charger, ce qui signifie que vous pouvez accéder au contenu chargé via la propriété Document, DocumentText et DocumentStream
    qui me semblait pas mal, j'avais pas lu la phrase d'après

    Gérez l'événement DocumentCompleted pour être notifié lorsque le contrôle WebBrowser finit de charger le nouveau document.


    enfin l'auteur du topic l'aurait peut etre lu

Discussions similaires

  1. Comment savoir si ma page web est bien affiché ?
    Par Borowsky dans le forum Langage
    Réponses: 1
    Dernier message: 03/02/2010, 17h07
  2. Réponses: 2
    Dernier message: 17/06/2009, 23h42
  3. [MySQL] [UTF-8] Pourquoi utiliser utf8_encode() alors que la page web et la DB sont en utf8 ?
    Par Tchupacabra dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 25/02/2008, 15h11
  4. Attendre que tous mes invoke soient finis avant de fermer ma fenêtre
    Par Rodrigue dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 20/02/2008, 20h14
  5. heberger c'est page web, est-ce possible ?¿
    Par artotal dans le forum IIS
    Réponses: 3
    Dernier message: 18/10/2005, 14h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo