为什么InternetExplorer对象无响应?

时间:2010-06-15 14:36:50

标签: internet-explorer vbscript readystate

我正在尝试登录受密码保护的网站。我在VBScript中使用InternetExplorer对象。错误在于oIE.readystate值被读取一次后 - 也就是说,在我的循环中,它会一次读取oIE.readystate值,但是在第二次尝试读取oIE.readystate值时,我收到“800A01CE”运行时错误,说“远程服务器机器不存在或不可用:'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.

1 个答案:

答案 0 :(得分:0)

可能是对MsgBox的调用已经搞砸了。做一个MsgBox会将焦点从IE更改为脚本解释器,这可能会使IE妄想它被劫持或其他东西。将它们更改为

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

然后使用cscript myscript.vbs从命令行运行它。