2010-10-23 4 views
0

Я использую mshtml.tlb для загрузки/разбора html, и я хотел бы расширить его для нажатия элементов по коду. проблема заключается в захвате процесса загрузки после, например. нажата кнопка. в моем конкретном случае я хотел бы выполнить вход пользователя.vb6: нажмите кнопку на HTMLDocument по коду и подождите, пока страница будет загружена

вот мой код:

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 

Теперь вот большой вопрос: как продолжать vb6- как «ждать до тех пор, пока загружается страница»? Я пробовал, как указано выше, используя цикл while и проверку readyState, но по какой-то причине ReadyState не изменяется после нажатия кнопки.

любые идеи?

благодаря

пс: есть более элегантный способ вместо делать в то время как петли? например. используя панель прогресса?

ответ

0
  • использование vb.net

  • wBrowser является объектом webbroser

    While wBrowser.ReadyState <> WebBrowserReadyState.Complete 
        Application.DoEvents() 
    End While 
    
Смежные вопросы