vbs获取Ie浏览器alert弹框的提示信息

sun_csnd 2018-12-18 01:41:58
如题,用vbs实现,获得提示信息“bbb”
用vba实现也可以

页面代码
<html>
<head>
<title>simple</title>
</head>
<body>
aaa
<script language="javascript" type="text/javascript">
alert("bbb");
</script>
</body>
</html>
...全文
302 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sun_csnd 2018-12-18
  • 打赏
  • 举报
回复
引用 1 楼 舉杯邀明月 的回复:
用VBS的,基本就别想了…… 除非你专门弄个AcitveX DLL 给VBS代码创建对象,并调用获取消息内容的接口。 对于不同的浏览器,这种alert( )的消息,它的“表现行为”不一样,  有些是用“窗口”的,有一些直接嵌网页内的“提示条”(比如Opera好像就是这样,在body上方)。  就算是用“窗口”弹出显示,其它的非IE内核的浏览器,恐怕也不好识别是否为“消息提示”。 如果仅限IE(不过,现在很少人喜欢用IE了吧)及IE内核的浏览器,  可以按“窗口类名”识别一下是否为消息(可能的情况下再加上“标题内容”)。 就算如此:需要进行全局的消息HOOK,要用到 SetWindowsHookEx( ) 这个API 。   HOOK所有的窗口创建消息,识别到是“消息”就取其消息文本就行了。
HOOK不会用 想用sell获得窗口对象,但貌似这样只能获取到主窗口的对象,有什么方法得到alert窗口对象然后取得消息框呢。 Set shell = CreateObject("Shell.Application") For i = 0 To shell.Windows.Count - 1 Set window = shell.Windows(i) title = Empty On Error Resume Next title = window.document.title On Error Goto 0 If title <> Empty Then If InStr("simple", title) = 1 Then '主窗口的对象 msgbox(window) Exit For End If End If Next
舉杯邀明月 2018-12-18
  • 打赏
  • 举报
回复
用VBS的,基本就别想了……
除非你专门弄个AcitveX DLL 给VBS代码创建对象,并调用获取消息内容的接口。



对于不同的浏览器,这种alert( )的消息,它的“表现行为”不一样,
 有些是用“窗口”的,有一些直接嵌网页内的“提示条”(比如Opera好像就是这样,在body上方)。
 就算是用“窗口”弹出显示,其它的非IE内核的浏览器,恐怕也不好识别是否为“消息提示”。

如果仅限IE(不过,现在很少人喜欢用IE了吧)及IE内核的浏览器,
 可以按“窗口类名”识别一下是否为消息(可能的情况下再加上“标题内容”)。
就算如此:需要进行全局的消息HOOK,要用到 SetWindowsHookEx( ) 这个API 。
  HOOK所有的窗口创建消息,识别到是“消息”就取其消息文本就行了。


2,462

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧