2014-06-18 29 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

当我测试它时,没有什么区别。 –

相关问题