找回密码
 加入
搜索
查看: 26838|回复: 8

[IE类操作] 如何自动点击或关闭IE弹出的 来自网页的消息

  [复制链接]
发表于 2013-5-24 09:31:53 | 显示全部楼层 |阅读模式
本帖最后由 .個朲綉√ 于 2013-5-24 09:33 编辑
        $Ele = _IETagNameGetCollection($oIE,"INPUT")
        For $Input In $Ele
                If $Input.classname<>'0' And $Input.type='submit' Then
                        $Input.Click()
                        MsgBox(1,"提示","弹窗后检测程序是否继续运行.")
                        ExitLoop
                EndIf
        Next
用以上法点击按钮、或用下面的方法,在点击过事会弹出一个来自网页的消息窗口,这时只能手工点掉,否则程序都无法继续执行,msgbox都不弹,只有点掉来自网页的消息才会弹msgbox。
        Local $oSubmit = _IEGetObjByName($oIE, "btsubmit");点击下一步
        _IEAction($oSubmit, "click")
http://www.autoitx.com/thread-36602-1-1.html
我在论坛和度娘上找了好久,看到这个帖子,问题和我类似,但我无法解决,我甚至重新写了一个小程序,代码如下,正常手工操作的话,弹出来自网页的消息都会自动关闭,但是用上面的代码执行弹窗后,就不会自动关闭了,求各位指教,谢谢!!
While 1
        WinWaitActive("来自网页的消息")
        WinClose("来自网页的消息")
WEnd
发表于 2013-6-5 00:35:06 | 显示全部楼层
消息是block掉你的脚本的,似乎只能外部搞,或者多线程
发表于 2013-6-5 08:59:56 | 显示全部楼层
回复 1# .個朲綉√


     用_IEAction($oSubmit, "focus")设置焦点至提交按钮上,再用ControlSend()发送{Enter},是一个不错的方法,楼主可一试。但前提是要点击的按钮能够获得焦点,否则一般要多线程解决了。
发表于 2013-6-6 22:19:09 | 显示全部楼层
While 1
;WinWait("来自网页的信息", "是否继续学习")
If WinExists("来自网页的消息", "是否继续学习") Then
ControlClick("来自网页的消息", "是否继续学习", "[CLASS:Button; TEXT:确定]")
EndIf
WEnd
发表于 2013-6-6 22:20:57 | 显示全部楼层
这个很适合我们的网上培训
发表于 2013-6-7 13:49:24 | 显示全部楼层
本帖最后由 骗子 于 2013-6-7 13:50 编辑

多进程就可以了

#include <CoProc.au3>
#NoTrayIcon
AutoItWinSetTitle("excle to flt F11退出") ;设置个标题
_CoProc('_exceldianji') ;运行子程序

While 1
        Sleep(100)
WEnd
Func Form1Close()
        Exit 0
EndFunc   ;==>Form1Close

Func _exceldianji()
        While 1
                If Not WinExists('excle to flt F11退出', '') Then ExitLoop ;如果主程序不在就退出
                WinWaitActive("来自网页的消息")
        WinClose("来自网页的消息")
        WEnd
EndFunc   ;==>_exceldianji
发表于 2013-6-18 20:51:03 | 显示全部楼层
学习学了解情况
发表于 2013-6-23 08:48:34 | 显示全部楼层
运行中遇到msgbox这类弹出框,会把程序挂起,直到点掉弹出框后继续运行,所以要用多线程,也就是另外一个小程序来单独处理弹出框
6楼方案可行
发表于 2013-7-12 07:06:56 | 显示全部楼层
http://www.autoitscript.com/foru ... lel-processing-udf/
childproc下载
将主程序和窗口处理程序都写好,像6楼那样,主程序写好,将窗口处理程序写成一个函数,在主程序弹出窗口之前事先调用窗口处理程序,然后再合适的时间主程序里面ProcessClose或者窗口处理程序自行关闭。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-25 00:25 , Processed in 0.086771 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表