2010-06-15 11 views
0

Je tente de me connecter à un site protégé par mot de passe. J'utilise l'objet InternetExplorer dans VBScript. L'erreur se situe après que la valeur oIE.readystate est lue une fois - c'est-à-dire dans ma boucle, elle lit la valeur oIE.readystate une fois, mais à la deuxième fois que la valeur oIE.readystate tente d'être lue, j'obtiens une erreur d'exécution «800A01CE», indiquant machine serveur distant n'existe pas ou est indisponible: 'oIE.readystate' "Pourquoi InternetExplorer Object ne répond plus?

Ce code a bien fonctionné dans IE6; mon entreprise a implanté une nouvelle politique AD (je ne sais pas comment/si cela affecte le tout) et nous utilisons maintenant IE7. Je ne suis pas sûr si IE7 est en quelque sorte bloquer le processus après oIE.readystate. Toutes les suggestions sont grandement appréciées. "->" indique que j'écris un commentaire sur la sortie du processus directement après l'exécution de cette ligne de code particulière.

set oIe=wscript.createobject("InternetExplorer.Application", "IE_") 
oIe.navigate "www.google.com" 

do while oIe.readystate<>4 
    msgbox "oIE readystate: " & oIE.readystate 
    ''#-->gets here one time and outputs "oIE readstate: 0" 
    wscript.sleep 1000 
    msgbox "oIE readystate: " & oIE.readystate 
    ''#-->errors out. 
loop 

msgbox "outside of oIE readystate: " & oIE.readystate 
''#--->never gets here. 

Répondre

0

L'appel de MsgBox est peut-être en train de provoquer une erreur. Faire un MsgBox change le focus d'IE à l'interpréteur de script, ce qui peut rendre IE paranoïaque qu'il est piraté ou quelque chose. les changer pour

WScript.Echo "oIE readystate: " & oIE.ReadyState 

et l'exécuter à partir de la ligne de commande à l'aide cscript myscript.vbs à la place.