|
识别属性值都相同的窗口,其实很多人都已经知道,在这种情况下可以用index来区分两个对象。但是在工作过程中,发现有时候QTP并不能正确的判断到底哪个是index=0,哪个是index=1... 当我要去找index=1的窗口中的对象时,它一直去index=0的窗口中找。 为此困惑很久, 后来终于找到解决方法, 在此共享给遇到同样问题的人。- Set winArr = Desktop.ChildObjects("title:=mywin")
- openedWinAmount = Ubound(winArr)
- SystemUtil.Run "C:\Program Files\mywin.exe","open"
- For iWin=0 To openedWinAmount-1 'Here: Activate前面已经打开的所有窗口
- JavaWindow("toolkit class:=org.eclipse.swt.widgets.Shell", "Index:="&iWin).Activate
- Next
复制代码 从脚本中可以看到,如果你要在新窗口中做一些操作的话,必须把已经打开的窗口重新Activate一遍,虽然不知道原因,至少解决了问题。 |
|