Failproof Warten, für den IE zu laden

Gibt es einen narrensicheren Weg für das Skript zu warten, bis der Internet-explorer vollständig geladen ist?

Beide oIE.Busy - und /oder oIE.ReadyState nicht so funktioniert, wie Sie sollte:

Set oIE = CreateObject("InternetExplorer.application")

    oIE.Visible = True
    oIE.navigate ("http://technopedia.com")

    Do While oIE.Busy Or oIE.ReadyState <> 4: WScript.Sleep 100: Loop  

    ' <<<<< OR >>>>>>

    Do While oIE.ReadyState <> 4: WScript.Sleep 100: Loop

Irgendwelche anderen Vorschläge?

Beschreiben Sie bitte, was funktioniert falsch mit konventionellen Do ... Loop dass Sie gezeigt haben?
Wie es aussieht, nicht warten genug für das laden der Seite, bevor er mit anderen Aktionen, so "Element FEHLER". Wenn ich erhöhte die Wartezeit explizit, es funktionierte.
Ich fand die ein ähnliches Verhalten mal, die Lösung war nur das hinzufügen der zusätzlichen Schleife vor, dass, wie Do While oIE.ReadyState = 4: WScript.Sleep 100: Loop. So erste Schritt ist, zu warten, bis die "navigaiting beginnt", und die zweite - bis es abgeschlossen werden.
Ich bin mir nicht sicher, was Sie vorgeschlagen sind.. Kannst du das etwas erläutern Bitte?
Kann nicht glauben, ich bin kommentierte etwas von 2014... Aber ich hatte das gleiche Problem und omega die Antwort wirklich Sinn macht. Die Zeile code vor der main-Schleife ist in der Veranstaltung, dass der code zuvor auf Ihrer Schleife vor der IE tatsächlich der Verarbeitung der Anfrage - also, bevor es zu Busy. Der code läuft zu schnell und trifft Ihre Schleife vor dem IE hat die chance, zu beschäftigt, so deshalb, es umgeht die Schleife, da es technisch nicht ausgelastet. Sehr intelligent schauen Sie in die Antwort ein, dass ich noch nie betrachtet.

InformationsquelleAutor user3408723 | 2014-04-25

Schreibe einen Kommentar