.個朲綉√ 发表于 2013-5-24 09:31:53

如何自动点击或关闭IE弹出的 来自网页的消息

本帖最后由 .個朲綉√ 于 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

extirpate 发表于 2013-6-5 00:35:06

消息是block掉你的脚本的,似乎只能外部搞,或者多线程

shqf 发表于 2013-6-5 08:59:56

回复 1# .個朲綉√


   用_IEAction($oSubmit, "focus")设置焦点至提交按钮上,再用ControlSend()发送{Enter},是一个不错的方法,楼主可一试。但前提是要点击的按钮能够获得焦点,否则一般要多线程解决了。

lwz642246 发表于 2013-6-6 22:19:09

While 1
;WinWait("来自网页的信息", "是否继续学习")
If WinExists("来自网页的消息", "是否继续学习") Then
ControlClick("来自网页的消息", "是否继续学习", "")
EndIf
WEnd

lwz642246 发表于 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

学习学了解情况

morphling12345 发表于 2013-6-23 08:48:34

运行中遇到msgbox这类弹出框,会把程序挂起,直到点掉弹出框后继续运行,所以要用多线程,也就是另外一个小程序来单独处理弹出框
6楼方案可行

morphling12345 发表于 2013-7-12 07:06:56

http://www.autoitscript.com/forum/topic/114992-childproc-parallel-processing-udf/
childproc下载
将主程序和窗口处理程序都写好,像6楼那样,主程序写好,将窗口处理程序写成一个函数,在主程序弹出窗口之前事先调用窗口处理程序,然后再合适的时间主程序里面ProcessClose或者窗口处理程序自行关闭。
页: [1]
查看完整版本: 如何自动点击或关闭IE弹出的 来自网页的消息