Windows 设置禁止从脚本文件打开超过 2 个选项卡

Windows 设置禁止从脚本文件打开超过 2 个选项卡

我的工作需要监控许多网站。我创建了一个 .vbs(尽管在解决此问题时,我还创建了 .js 和 .bat 文件,并且遇到了同样的问题)。此文件只是打开一个新的 Internet Explorer 窗口,然后为我需要的每个网站添加一个新选项卡。这是代码:

Const navOpenInBackgroundTab = &H1000

site1 = "http://www.google.com"
site2 = "http://www.yahoo.com"
site3 = "http://www.bing.com"
site4 = "http://www.duckduckgo.com"

Set oIE = CreateObject("InternetExplorer.Application")

oIE.Visible = True
oIE.Navigate2 site1
oIE.Navigate2 site2,navOpenInBackgroundTab
oIE.Navigate2 site3,navOpenInBackgroundTab
oIE.Navigate2 site4,navOpenInBackgroundTab

Set oIE = Nothing

对我来说,执行此文件一直很顺利,直到最近我才能够将其设置为自动通过调度程序运行,以自动执行我的任务监控。现在,当我运行它时,无论我在脚本中有多少链接,它都只会打开前 2 个选项卡。

我一直在互联网上搜索解决方案,但一无所获。虽然在其他一些电脑上我可以正常工作,但我的电脑不再能正常工作。这是否只是一些 Windows 设置阻止脚本正确打开所有选项卡?我应该在哪里更改/修复它?

在此先感谢您的帮助。

答案1

尝试一下这个 vbscript:

Option Explicit
Dim oIE,site1,URL,ArrayURLS
Set oIE = CreateObject("InternetExplorer.Application")
site1 = "http://www.duckduckgo.com"
oIE.Visible = True
oIE.Navigate2 site1

ArrayURLS = Array("http://www.google.com","http://www.yahoo.com","https://superuser.com",_
"https://stackoverflow.com","https://security.stackexchange.com/","https://pastebin.com")

For Each URL In ArrayURLS
    Call OpenTab(URL)
Next

Set oIE = Nothing
wscript.quit
'**********************************************
Sub OpenTab(URL)
Const navOpenInBackgroundTab = &H1000
    oIE.Visible = True
    oIE.Navigate2 URL,navOpenInBackgroundTab
    Do
        WScript.Sleep 100
    Loop While oIE.Busy
End sub
'********************************************

相关内容