VBS 在后台转到 URL

Posted

技术标签:

【中文标题】VBS 在后台转到 URL【英文标题】:VBS going to a URL in the background 【发布时间】:2013-01-27 22:38:40 【问题描述】:

我想让我的 VB 脚本转到后台的 URL。它可以在后台打开浏览器,然后关闭它。越“沉默”越好。我有 2 个可以在我的机器上运行但在另一个机器上无法运行的实现:

Set WshShell = WScript.CreateObject("WScript.Shell") 
Return = WshShell.Run("iexplore.exe " &  myURL, 1) 

这是另一个:

Set objExplorer = WScript.CreateObject _
("InternetExplorer.Application", "IE_")
objExplorer.Navigate myURL
'Determines if the window is visible or not
objExplorer.Visible = 0
'Suspend the script for 1 minute
WScript.Sleep 6000
'Close the IE (instantiated) window
objExplorer.quit

...其中 myURL 是包含 URL 的字符串变量。

我无法弄清楚为什么上述任何一个都适用于我的笔记本电脑,但不适用于服务器。任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:
Set WshShell = WScript.CreateObject("WScript.Shell") 
Return = WshShell.Run("iexplore.exe " &  myURL, 1) 
WScript.Sleep 10000
WshShell.SendKeys "F6"
WScript.Sleep 500
WshShell.SendKeys "y"
WScript.Sleep 500
WshShell.SendKeys "o"
WScript.Sleep 500
WshShell.SendKeys "u"
WScript.Sleep 500
WshShell.SendKeys "t"
WScript.Sleep 500
WshShell.SendKeys "u"
WScript.Sleep 500
WshShell.SendKeys "b"
WScript.Sleep 500
WshShell.SendKeys "e"
WScript.Sleep 500
WshShell.SendKeys "ENTER"
WScript.Sleep 500

【讨论】:

【参考方案2】:

如果您正在寻找一种静默方法,我建议您完全删除 Internet Explorer COM 对象并使用 XMLHttpRequest 对象:

myURL = "http://www.google.com/"

Set req = CreateObject("MSXML2.XMLHTTP.6.0")
req.Open "GET", myURL, False
req.Send

WScript.Echo req.ResponseText

【讨论】:

执行用户是否必须有一定的权限才能这样做?

以上是关于VBS 在后台转到 URL的主要内容,如果未能解决你的问题,请参考以下文章

在后台模式下从 Nodejs 执行 VBS(任务计划程序或 Windows 服务)

如何让这个Bat批处理文件在后台运行?不用vbs

ASP.Net后台 实现先弹出对话框,再跳转到另一个网页的实现方法

windows下后台运行程序

在windows中:双击运行Python程序后台运行Python程序

能不能在c语言中调用批处理命令,并让批处理执行窗口后台运行?求编程高手帮助!