yigao 发表于 2010-11-22 15:27:45

如何判别IE弹出窗口出现

就是在IE自动运行后循环打开各页面,有时候会因为条件所限出现弹出窗口(如图),如何判别这个弹出窗口出现并终止循环?谢谢!

shano 发表于 2010-11-22 18:56:28

后线程或者多进程   
或者干脆写2个程序   其中一个就是专门来干掉这个弹窗的

yuxw 发表于 2010-11-23 09:58:14

$oForm = _IEGetObjByName ($oIE, "action_reset_simbl_ip")
$handle= _IEPropertyGet($oIE, "hwnd")
_IEAction($oForm,"focus")
ControlSend($handle, "", "", "{Enter}")
WinWait("来自网页的消息","Click OK if you want to apply the settings, otherwise click Cancel.")
ControlClick("来自网页的消息", "Click OK if you want", "")

相关的内容自己改一下,试试。

蜘蛛抱蛋 发表于 2010-11-23 11:34:28

这个用AHK很方便,有个winwaitactive函数

yigao 发表于 2010-11-23 11:35:23

感谢楼上的朋友,我先消化一下,希望可以解决问题

askyer 发表于 2010-11-24 23:41:23

好东西支持一下

askyer 发表于 2010-11-24 23:41:26

好东西支持一下

bdrdc 发表于 2010-12-19 10:16:20

不行呀,看来非得要多线程

_ddqs. 发表于 2010-12-19 20:17:57

貌似脚本中使用了等候IE返回
IE不返回(是弹出了对话框)
给卡住了

_ddqs. 发表于 2010-12-19 20:48:51


Global $url ,$s = "大概多少时间页面处理完成就延时多少"+"点点"
$url = "url"
$url = "url"

$url = "url"




$i = 0
While 1
       
                If WinExists("某某对话框","") Then
                       
                        ;关闭(某某对话框)
                       
                        ExitLoop
                       
                Else
                       
                        $oIE.Navigate( $URL[$i] )
                EndIf
       
        Sleep($s)
       
        $i += 1
WEnd
页: [1]
查看完整版本: 如何判别IE弹出窗口出现