2014-06-18 69 views
0

我試着用下面的代碼找出網頁是否打開,但是這段代碼對我來說並不合適。系統僅閃爍僅第一個打開的網頁網址。如何找出是否打開網頁是否使用VBScript

surl ="http://www.google.com/" 
set shapp=createobject("shell.application") 
For Each owin In shapp.Windows 
    msgbox owin.document.location.href 
    if Instr(1,owin.document.location.href,surl)>0 then 
    msgbox "Window opened" 
    end if 
Next 
set shapp=Nothing 

的錯誤信息是:

的腳本執行時間超出了劇本 「d:\ ie_open.vbs」 腳本執行被終止

+0

該代碼適用於我(顯示帶有所有IE標籤頁/窗口的URL的消息框,以及包含「surl」值的每個URL的「窗口打開」附加消息框)。你能否更詳細地解釋「只閃爍第一個打開的網頁網址」的含義? –

+0

@AnsgarWiechers我用oWin.locationURL替換了命令owin.document.location.href。 在命令提示符中執行此腳本時,IE中的第一個選項卡URL在消息框中閃爍,並自動消失。並且系統在命令提示符下顯示以下消息: **在腳本「D:\ ie_open.vbs」上超出了腳本執行時間 腳本執行已終止** – user3751964

回答

2

如果出現錯誤消息「腳本執行時間已超出......」,則問題可能是由於超時過短導致的。見here。使用類似的東西:

cscript //T:0 "D:\ie_open.vbs" 

來測試這個假設。

默認超時值可以被存儲在註冊表中下列任一位置的:

  • HKCU\Software\Microsoft\Windows Script Host\Settings(每個用戶)
  • HKLM\Software\Microsoft\Windows Script Host\Settings(全局)

刪除Timeout價值消除預設的超時時間。

+0

用這個命令我能夠得到所有打開的頁面的URL CSCRIPT // T:0「d:\ ie_open.vbs」 – user3751964

+0

@ user3751964在這種情況下,檢查下的子項'軟件\微軟\ Windows腳本宿主\ Settings' HKCU和HKLM都有「超時」價值。 –

+0

@Ansgar Wiechers我可以在HKCU中看到超時值爲1,並且看不到HKLM中的超時條目 – user3751964

0

而不是使用owin.document.location.hrefoWin.locationURL

+0

當我測試它時,沒有什麼區別。 –

相關問題