【无意义】内嵌IE弹窗窗口后脚本会停止?
本帖最后由 chamlien 于 2014-8-19 20:34 编辑#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
$form = GUICreate("测试",350, 190)
$oIE = ObjCreate("Shell.Explorer.2")
GUICtrlCreateObj($oIE, -813, -187, 1500, 189)
$button1 = GUICtrlCreateButton("登录", 160, 123, 70, 28)
$ck2 = GUICtrlCreateButton("退出", 254, 123, 70, 28)
_IEnavigate($oIE,"http://192.168.168.248/portalReceiveAction.do?wlanuserip=172.21.3.15&wlanacname=amnoon");内网地址
GUISetState()
While 1
$msg = GUIGetMsg()
If $msg = $button1 Then
Local $oForm = _IEFormGetObjByName($oIE, "portalForm")
Local $oQuery = _IEFormElementGetObjByName($oForm, "userid")
_IEFormElementSetValue($oQuery,"test")
Local $oQuery = _IEFormElementGetObjByName($oForm, "passwd")
_IEFormElementSetValue($oQuery, "123456")
_IEFormSubmit($oForm)
EndIf
If $msg = $CK2 then
Exit
If $msg = -3 then
Exit
EndIf
WEnd
以上脚本点击登录会弹出如下窗口:
用论坛提供的汉化编辑器运行以上代码情况如下:
在win7系统下关闭这个弹窗后脚本仍然正常执行,但是在XP系统下,关闭这个弹窗后,脚本就不听使唤了,点击“退出”或关闭都没反应。
以上代码如果用官方编辑器运行,情况如下:
当出现这个弹窗,点击确定时,脚本就会立即错误并退出,错误代码:The requested action with this object has failed.
经过对比,我认为是这个弹窗让脚本出现了不稳定,谁能帮我解决这个问题吗?
(以上地址为内网) 干嘛不用Switch 回复 2# haijie1223
用了switch问题依旧,XP下还是点击登录后程序就退不出了。 没人帮我解决吗? 楼主 你看一下 窗口是在哪一步弹出的, 然后 你在那一步 加上 winwait 设置 winwait 的超时 时间 .如果 操作之后 5秒内弹出 ,就 设置 8秒.
然后再根据winwait 的返回值判断 是继续往下走.还是发送 模拟点击 关掉弹出.然后再返回开始步骤重新操作. 回复 5# sunless
这个我已经知道是哪里弹窗的。上面的表单是测试账号,账号是不存在的,当把test输进去并点击登陆后,服务器就会返回信息,也就是我截图的那个弹窗,这个时候关闭了弹窗之后脚本就会卡住不动了,点击什么都没反应了! 错误代码:The requested action with this object has failed.
说明脚本还在往下走啊.
只是 没取到对象. 单线程的原因 点击后无法立刻返回导致假死 好像 回复 8# 82809085
那怎么样解决呢?XP才会出现假死,要等10几分钟之后才能再操作、
页:
[1]