如何使用VBScript确定网页是否已打开

如何使用VBScript确定网页是否已打开,vbscript,Vbscript,我试着用下面的代码来找出网页是否被打开,但是这个代码对我来说不起作用。系统仅闪烁第一个打开的网页URL 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 the

我试着用下面的代码来找出网页是否被打开,但是这个代码对我来说不起作用。系统仅闪烁第一个打开的网页URL

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\u open.vbs”上的脚本执行时间已超过,脚本执行已终止


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

如果出现错误消息“脚本执行时间已超过…”,则问题可能是由于超时太小造成的。看见使用类似于:

cscript //T:0 "D:\ie_open.vbs"
为了验证这一假设

默认超时值可以存储在注册表中以下任意位置:

  • HKCU\Software\Microsoft\Windows脚本主机\Settings
    (每个用户)
  • HKLM\Software\Microsoft\Windows脚本主机\Settings
    (全局)

删除
超时
值将删除预设超时。

代码对我有效(显示包含所有IE选项卡/窗口URL的消息框,并为每个包含
surl
值的URL显示一个附加消息框“Window Open”)。你能更详细地解释一下“只刷新第一个打开的网页URL”是什么意思吗?@AnsgarWiechers我已经用owin.location.URL替换了owin.document.location.href命令。在命令提示符下执行此脚本时,IE中的第一个选项卡URL会在消息框中闪烁,并自动消失。并且系统在命令提示符中显示以下消息:脚本“D:\ie_open.vbs”上的脚本执行时间已超过。脚本执行已终止。当我测试它时,它不会产生任何影响。使用此命令,我可以获得所有打开的网页URL cscript//t:0“D:\ie_open.vbs”@user3751964在这种情况下,请检查HKCU和HKLM下的子项
Software\Microsoft\Windows Script Host\Settings
,查看
Timeout
值。@Ansgar Wiechers我在HKCU中可以看到超时值为1,在中看不到超时条目HKLM@user3751964删除HKCU下的该值,您的问题应消失。@AnsgarWiechers删除了HKCU下的超时值,现在我可以获得所有网站名称。谢谢