Internet explorer 使用WindowsXP VBScript自动化Internet Explorer,我如何';单击确定';当对话框出现时?

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”类型的调用,你基本上必须使用计时器,所以这确实不是一个好的解决方

我的Windows VBScript打开InternetExplorer.Application对象,并运行一些导航。有一次,我正在使用的页面会显示一个对话框,我必须在其中单击“确定”或“取消”。有没有办法告诉VBScript在对话框弹出时单击“确定”?

VBScript不太擅长处理GUI功能,至少,它与AutoIT这样的功能甚至不太接近;不管怎么说,VBScript中有一个sendkeys函数,但问题是你不能进行“on event”类型的调用,你基本上必须使用计时器,所以这确实不是一个好的解决方案,但据我所知,这是你所拥有的全部,至少在VBS中是这样

所以也许你可以启动IE对象,然后加入一个等待计时器,然后发送键。老兄。。。但它可以工作


如果您只想关闭一个对话框,这可能会帮助您:

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(“对话框的标题”)
激活它,然后发送键关闭它。您可以使用
添加注释
对该答案进行注释,而不是回答问题。