VBS如何操作网页弹出的窗口 VBS点击网页按钮后弹出一个网页窗口,我想选择“是”,请问怎么做?

如题所述

这个“是”是不是焦点所在,如果是的话:
Dim sh
Set sh = WScript.CreateObject("Wscript.Shell")
sh.SendKeys "{ENTER}"
如果不是焦点,但是有快捷键,可以这样:
Dim sh
Set sh = WScript.CreateObject("Wscript.Shell")
sh.SendKeys "%y" '这里假设Y为快捷键,则我们模仿键盘操作alt + y,敲击“是”这个键追问

能不能直接后台的那种,不要模拟按键的行吗?
网页源码是这样的:
if(confirm("是否确认提交?")){
//document.getElementById("submit").disabled=true;
return true;
}

追答

你自己看看你的问题是表达这种想法的吗?你的两个问题加起来我都不明白你的想法。你到底是想自己手动选择是,还是默认为是?什么叫vbs点击网页按钮后?你到底想在弹窗后操作什么?拜托说清楚点。
还有你贴源码是想说什么?想告诉我你用javascript定义的函数来取得vbs弹窗的值吗?你到底是问js还是vbs?

追问

默认为是,用js,vbs都可以。
问题重新解释:
就是比如我用vbs【本地运行】的
document.getElementById("submit").click()
点击操作网页按钮后,弹出一个窗口。
是confirm窗口,我想直接默认为“是”,该如何操作。

追答

如果默认为是的话,那你还弹窗干嘛呢?弹窗是为了跟用户交互。
我猜你的意思是,填完表单的时候,点击提交,让用户选择是否确定保存,是这样吗?
那这样的弹窗不如不要,真的,反而会影响你的功能。
popup方法可以弹出一个提示窗口,并且可以返回用户选择的按键的值。你可以在后台脚本这样写
Dim sh
Set sh = WScript.CreateObject("Wscript.Shell")
intResult = sh.poppu("确定怎么样吗?",vbYesNo,"请选择")
if intResult = 6 then '6就是用户点了yes,7是用户点了no
做点什么
else
做点什么
end if
加入这行代码,你即可从后台判断用户选择了什么按键,然后做出对应操作。能帮到您吗?
求采纳!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-09-07

我跟你做的是类似的事情,所以特地来打个招呼,认识一下,

    弹窗据我所知是无法通过脚本操作的,简单的说就是你没法取得那个窗口的对象,弹窗属于IE窗口的子窗口,基本没法弄

    我的解决方法是两个,1个是用API,sendkey,仍然需要用appactivate激活窗口

    第二种是通过脚本修改按钮附带的函数,让它避免调用弹窗,让它直接提交即可