Dim Nagios
Nagios = http://gl-nagios.fciconnect.com/centreon/index.php
set WshShell = WScript.CreateObject("WScript.Shell")
call WshShell.Run(nagios, 1, false)
WScript.Sleep 2000
WshShell.SendKeys ""
WScript.Sleep 1000
WshShell.SendKeys "{TAB}"
WScript.Sleep 1000
WshShell.SendKeys ""
WshShell.SendKeys "{TAB}"
WScript.Sleep 1000
WshShell.SendKeys "{ENTER}"
WScript.Sleep 5000
'Browse to DownHost
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{TAB}"
WScript.Sleep 2000
WshShell.SendKeys "{ENTER}"
WScript.Sleep 5000
WshShell.SendKeys "{PRTSC}"
WScript.Sleep 5000
WshShell.AppActivate"C:\AutoScreenCapture\IECapt --url="nagios" --out=C:\AutoScreenCapture\Warning.jpg"
WScript.Quit
我打算使用vbscript登录网站并在其活动网页上进行截图,并使用IEcapt免费软件捕获其截图。不知道脚本在哪里出错了。任何专家都建议。
答案 0 :(得分:0)
你有几个问题,但在我找到它们之前,请允许我声明我不熟悉IECapt
及其工作原理。
首先,正如@bond所述,您需要将Nagios
作业括在引号中: -
Nagios = "http://gl-nagios.fciconnect.com/centreon/index.php"
其次,AppActivate
只是切换到另一个已在运行的应用程序窗口。看起来您需要使用命令行运行应用程序以从剪贴板导出图像(您无法切换到应用程序并应用参数)。因此,我建议您从第4行删除对Run
的调用,并将AppActivate
调用更改为Run
方法,以便您可以使用参数启动它。同样,不完全确定应用程序的工作方式,因此可能需要进行审核。
第三,您在插入网址时遇到字符串连接问题。您需要使用连接运算符&
。为了保持良好的约定,请尝试使用与您声明它们相同的大小写的变量名称,在本例中为Nagios
:
'Start up the screen-capture app and minimise it
WshShell.Run "C:\AutoScreenCapture\IECapt --url=" & Nagios & " --out=C:\AutoScreenCapture\Warning.jpg", 2
第四,我总是建议声明每个变量以避免运行时错误和错误。因此,您应始终将VBScript文件的第1行设为: -
Option Explicit 'Enforce variable declaration
第五,您尚未为WshShell
声明变量:
Dim WshShell
最后,您应该始终为Set
:
Set WshShell = Nothing
Set Nagios = Nothing