我的工作需要监控许多网站。我创建了一个 .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
'********************************************