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

[GUI管理] [已结]请问Internet Explorer_TridentDlgFrame类的窗口如何获取其句柄?

[复制链接]
发表于 2012-4-11 15:15:34 | 显示全部楼层 |阅读模式
本帖最后由 shqf 于 2012-4-16 14:11 编辑

想获取一个类别是Internet Explorer_Server的网页源代码,关键是其处在一个标题为" -- 网页对话框"的弹出窗口中,这个父窗口类是Internet Explorer_TridentDlgFrame。用_IEAttach想直接获取子窗口总是失败。请问在这种状况下如何获取这二种窗口的句柄或对象?
补充:好像程序运行到弹出这个窗口后,停止运行,待关闭这个程序再运行下去的。
发表于 2012-4-14 02:42:42 | 显示全部楼层
遇到同样的问题。
发表于 2012-4-14 02:53:19 | 显示全部楼层
我的网页代是这样的。

我的父页面有个按钮是JS的。
<input id="btnRel_org.sales_m_DW_CDptCde" type="button" value="..." style="height:20px" class="button" onClick="dwManager.activeDWName = 'org.sales_m_DW';selectDept_C()"/>

我用调用JS打开了子页面
$oIE1.document.parentWindow.execscript("dwManager.activeDWName = 'org.sales_m_DW';selectDept_C()")

然后用了这下代码获取子页面引用

$window = WinWait("机构列表 -- 网页对话框")
$oIE2 = _IEAttach($window, "embedded")
$oElements = _IETagNameAllGetCollection ($oIE2)
For $oElement In $oElements
    MsgBox(0, "元素信息", "标记名: " & $oElement.tagname & @CR & "内部文本: " & $oElement.innerText)
Next

没有反应。

如果父页面的按钮人工操作。子页面的引用就能用了。这是什么问题,请高手指点指点。
 楼主| 发表于 2012-4-16 14:11:03 | 显示全部楼层
确定了问题的实质。并不是这样的窗口不能获取,而确是程序停在了那里。程序在自动点击父窗口按钮而弹出窗口后不能再运行下去,直接停在那里了。导致后面的winwait()语句执行不到,使人以为是无法获取弹出的窗口句柄故程序在等待。假如是手动点击的,winwait()是能够获取其弹出窗口的句柄。故本贴问题已未能反映问题的实质了,就这样结了本贴吧。我另开一主题来提问。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-20 00:13 , Processed in 0.080253 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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