2010-10-23 28 views
0

J'utilise mshtml.tlb pour charger/analyser html et je voudrais l'étendre pour cliquer sur les éléments par code. le problème est de piéger le processus de chargement après par exemple. un bouton a été cliqué. dans mon cas spécifique, je voudrais effectuer une connexion utilisateur.vb6: cliquez sur le bouton HTMLDocument par code et attendez que la page soit chargée

voici mon code:

Dim WithEvents m_doc As HTMLDocument 

' load page 
Set m_docNU = New HTMLDocument 
Set m_doc = m_docNU.createDocumentFromUrl(m_url, vbNullString) 

Do While m_doc.readyState = "loading" Or m_doc.readyState = "interactive" 
DoEvents 
Loop 

set txtUsername = m_doc.getElementById("username") 
set txtPasswort = m_doc.getElementById("passwort") 
set myButton = m_doc.getElementById("submit") 

myButton.click 

maintenant est ici la grande question: comment continuer vb6- comme "attendre jusqu'à ce que la page est chargée"? J'ai essayé comme ci-dessus en utilisant un while while-loop et en vérifiant le readyState, mais pour une raison quelconque le readyState ne change pas après avoir cliqué sur le bouton ..

des idées?

grâce

ps: est-il un moyen plus élégant au lieu du do while? par exemple. en utilisant une barre de progression?

Répondre

0
  • utilisation vb.net

  • wBrowser est un objet webbroser

    While wBrowser.ReadyState <> WebBrowserReadyState.Complete 
        Application.DoEvents() 
    End While