0

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

此代码在 IE6 中运行良好;我的公司实施了新的广告政策(不知道这会如何/是否会影响这一点),我们现在正在使用 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.
4

1 回答 1

0

可能是对 MsgBox 的调用弄乱了它。执行 MsgBox 会将焦点从 IE 转移到脚本解释器,这可能会使 IE 偏执地认为它被劫持了。将它们更改为

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

并从命令行使用cscript myscript.vbs而不是运行它。

于 2010-06-15T17:21:41.123 回答