Почему объект InternetExplorer перестает отвечать на запросы?

Я пытаюсь войти на защищенный паролем сайт. Я использую объект InternetExplorer в VBScript. Ошибка возникает после того, как значение oIE.readystate читается один раз, то есть в моем цикле оно считывает значение oIE.readystate один раз, но при второй попытке чтения значения oIE.readystate я получаю ошибку времени выполнения «800A01CE», заявляя: «The удаленный сервер не существует или недоступен: 'oIE.readystate'"

Этот код отлично работал в IE6; моя компания внедрила новую политику AD (не знаю, как это вообще влияет на это), и теперь мы используем IE7. Я не уверен, что IE7 каким-то образом блокирует процесс после oIE.readystate. Любые предложения приветствуются.


Обозначение: "-->" означает, что я пишу комментарий о выводе процесса сразу после выполнения этой конкретной строки кода.

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.

person nezam    schedule 15.06.2010    source источник


Ответы (1)


Это может быть вызов MsgBox, который искажает его. Выполнение MsgBox меняет фокус с IE на интерпретатор сценариев, что может сделать IE параноидальным, что его угоняют или что-то в этом роде. Измените их на

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

И запустите его из командной строки, используя вместо этого cscript myscript.vbs.

person Tmdean    schedule 15.06.2010