2010-06-15 126 views
0

我正在嘗試登錄到密碼保護的網站。我在VBScript中使用InternetExplorer對象。錯誤在於oIE.readystate的值被讀取一次 - 也就是說,在我的循環中,它一次讀取oIE.readystate值,但第二次oIE.readystate值試圖被讀取,我得到一個「800A01CE」運行時錯誤,指出「The遠程服務器機器不存在或不可用:'oIE.readystate'「爲什麼InternetExplorer對象無響應?

此代碼在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

這可能是對MsgBox的調用造成的。做一個MsgBox改變焦點從IE瀏覽器到腳本解釋器,這可能會讓IE妄想它被劫持或什麼的。改變他們

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

並使用cscript myscript.vbs不是命令行運行它。