找回密码
 加入
搜索
查看: 2603|回复: 3

[IE类操作] [已解决]填表单时遇到模态窗口脚本停止运行等待窗口关闭,怎么办?(附测试代码)

[复制链接]
发表于 2013-2-22 10:00:13 | 显示全部楼层 |阅读模式
本帖最后由 xzxnovice 于 2013-2-22 21:08 编辑

填表过程中,要点击一个按钮,按钮的事件是打开一个模态窗口,au3 这时一直在等待窗口关闭才继续运行,请问可以点击一个按钮后就直接返回吗?或者怎样修改网页代码使它打开个非模态窗口?

先用ie打开a.htm 再打开au3脚本,程序会点测试页1的按钮打开模态窗口测试页2,程序停在这里等待测试页2窗口关闭,所以下面点击测试页2  按钮代码没执行。
想到个方法就是再做一个脚本负责测试页2的表单填写,麻烦了,不要这样做。
要不就把window.showModalDialog 替换成 window.showModelessDialog,但没成功,应该怎样写?
#include <IE.au3>
$oIE = _IEAttach("测试页1")
$oIE.document.all.btn1.click
_IELoadWait ($oIE)
$oIE1 = _IEAttach("测试页2","DialogBox")
$oIE1.document.all.btn1.click
a.htm
<title>测试页1</title>
<script>
function charge()
{    
      var parm = new Object();
      parm.opener = window;
        window.showModalDialog("b.htm",parm,"dialogHeight:500px;dialogWidth:800px;center:Yes;help:No;resizable:No;status:Yes;");
}
</script>
<input type="button" id="btn1" value="打开测试页2" onclick="charge()">
b.htm
<title>测试页2</title>
<input type="button" id="btn1" value="点我" onclick="alert('点到我了')">
<input type="button" id="btn2" value="关闭" onclick="window.close()">
自己解决了
$oIE.document.parentwindow.execscript("window.showModalDialog=window.showModelessDialog", "javascript")
 楼主| 发表于 2013-2-22 10:52:27 | 显示全部楼层
$bodyhtml=_IEBodyReadHTML($oIE)
_IEBodyWriteHTML($oIE,StringReplace($bodyhtml,"window.showModalDialog","window.showModelessDialog"))
修改网页后,窗口打不开,应该怎样改?
 楼主| 发表于 2013-2-22 16:37:54 | 显示全部楼层
要自顶一下
发表于 2013-5-25 09:17:56 | 显示全部楼层
怎么解决的呢?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-17 20:22 , Processed in 0.075577 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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