我正在尝试登录受密码保护的网站。我在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.
答案 0 :(得分:0)
可能是对MsgBox的调用已经搞砸了。做一个MsgBox会将焦点从IE更改为脚本解释器,这可能会使IE妄想它被劫持或其他东西。将它们更改为
WScript.Echo "oIE readystate: " & oIE.ReadyState
然后使用cscript myscript.vbs
从命令行运行它。