2010-11-15 173 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