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

[GUI管理] 【无意义】内嵌IE弹窗窗口后脚本会停止?

  [复制链接]
发表于 2013-1-22 12:35:37 | 显示全部楼层 |阅读模式
本帖最后由 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.

经过对比,我认为是这个弹窗让脚本出现了不稳定,谁能帮我解决这个问题吗?

(以上地址为内网)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2013-1-22 14:42:50 | 显示全部楼层
干嘛不用Switch
 楼主| 发表于 2013-1-22 15:24:13 | 显示全部楼层
回复 2# haijie1223

用了switch问题依旧,XP下还是点击登录后程序就退不出了。
 楼主| 发表于 2013-1-22 23:06:58 | 显示全部楼层
没人帮我解决吗?
发表于 2013-1-23 12:37:55 | 显示全部楼层
楼主 你看一下 窗口是在哪一步弹出的, 然后 你在那一步 加上 winwait 设置 winwait 的超时 时间 .如果 操作之后 5秒内弹出 ,就 设置 8秒  .
然后  再根据winwait 的返回值判断 是继续往下走.还是发送 模拟点击 关掉弹出.然后再返回开始步骤重新操作.
 楼主| 发表于 2013-1-23 21:08:05 | 显示全部楼层
回复 5# sunless

这个我已经知道是哪里弹窗的。上面的表单是测试账号,账号是不存在的,当把test输进去并点击登陆后,服务器就会返回信息,也就是我截图的那个弹窗,这个时候关闭了弹窗之后脚本就会卡住不动了,点击什么都没反应了!
发表于 2013-1-25 20:46:05 | 显示全部楼层
错误代码:The requested action with this object has failed.
说明脚本还在往下走啊.
只是 没取到对象.
发表于 2013-2-22 02:13:44 | 显示全部楼层
单线程的原因 点击后无法立刻返回导致假死 好像
 楼主| 发表于 2013-2-22 17:18:46 | 显示全部楼层
回复 8# 82809085

那怎么样解决呢?XP才会出现假死,要等10几分钟之后才能再操作、
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-7 08:42 , Processed in 0.093191 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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