Internet explorer 使用WindowsXP VBScript自动化Internet Explorer,我如何';单击确定';当对话框出现时?
我的Windows VBScript打开InternetExplorer.Application对象,并运行一些导航。有一次,我正在使用的页面会显示一个对话框,我必须在其中单击“确定”或“取消”。有没有办法告诉VBScript在对话框弹出时单击“确定”?VBScript不太擅长处理GUI功能,至少,它与AutoIT这样的功能甚至不太接近;不管怎么说,VBScript中有一个sendkeys函数,但问题是你不能进行“on event”类型的调用,你基本上必须使用计时器,所以这确实不是一个好的解决方案,但据我所知,这是你所拥有的全部,至少在VBS中是这样 所以也许你可以启动IE对象,然后加入一个等待计时器,然后发送键。老兄。。。但它可以工作Internet explorer 使用WindowsXP VBScript自动化Internet Explorer,我如何';单击确定';当对话框出现时?,internet-explorer,vbscript,windows-xp,Internet Explorer,Vbscript,Windows Xp,我的Windows VBScript打开InternetExplorer.Application对象,并运行一些导航。有一次,我正在使用的页面会显示一个对话框,我必须在其中单击“确定”或“取消”。有没有办法告诉VBScript在对话框弹出时单击“确定”?VBScript不太擅长处理GUI功能,至少,它与AutoIT这样的功能甚至不太接近;不管怎么说,VBScript中有一个sendkeys函数,但问题是你不能进行“on event”类型的调用,你基本上必须使用计时器,所以这确实不是一个好的解决方
如果您只想关闭一个对话框,这可能会帮助您:
Set oShell = CreateObject("WScript.Shell")
Do
bResult = oShell.AppActivate("Title of the dialog box")
If bResult = True Then
oShell.SendKeys "{Enter}"
' or "%K" for Alt+k, for OK and "%N" (Alt+N) for Cancel
Exit Do
End If
WScript.Sleep 500
Loop
现在,我已经添加了一个解决方案,使IE只在确认框显示时可见,然后返回到不可见状态。幸运的是,运行这个脚本所需的时间很短,因此等待弹出窗口2秒钟并不麻烦。非常感谢您对其他解决方法的任何想法。@java_enthu:是的
oShell.AppActivate(“对话框的标题”)
激活它,然后发送键关闭它。您可以使用添加注释
对该答案进行注释,而不是回答问题。