2010-11-15 88 views
3

我正在尝试使用QTP识别帧内显示的内容。 我在页面上询问所有与描述相匹配的帧并获得一组帧。 我从集合中获取第一帧,但由于某种原因,似乎该对象不存在,因此我无法触及显示的内容。 任何想法如何提取框架内的内容,以及为什么QTP不能将其识别为现有对象? (注:我故意没有使用存储库来识别帧导致框架在使用动态索引页面独特的位置,以确定其位置)识别QTP内部显示的内容

感谢, 弥敦道

代码说明:

set TargetPage= Browser(...).Page(...) 

Set objDesc = Description.Create() 
objDesc("micclass").Value = "Frame" 
objDesc("html id").Value = "id" 
objDesc("html tag").value = "IFRAME" 
objDesc("name").value = "id" 

set FramesCollection = TargetPage.ChildObjects(objDesc) 

Print FramesCollection .count-> Prints a number >0 

set firstFrame=FramesCollection(0) 
firstFrame.Exist-> Returns False 

回答

3

对于由ChildObjects返回的对象,您不能使用Exist,以获取有关为什么会看到此blog post的完整说明。

您应该只使用该对象而不检查它是否存在。如果您想向自己证明该对象实际上可以正确找到,则可以使用未公开的Highlight方法。

+0

突出部分没有记录的原因是因为它会让QTP更经常挂起。因此,请谨慎使用它,并在运行突出显示的代码之前始终保存您的工作。 – AutomatedChaos 2011-02-03 18:30:50