QuickTestPro处理带有IFRAME的问题(续)

发表于:2008-09-24来源:作者:点击数: 标签:IFRAMEQuickTestPro
今天一上blog就看到有人转我的文章!发了这篇文章很久了,但是一直都没有人问我另外一个问题,就是我解决这个问题所用到的另外一套代码是什么,很遗憾,所以今天看到 其他 人转这篇文章的时候,我把另外一套代码也贴出来,共享给大家! 1.首先建立HTML文件,
 今天一上blog就看到有人转我的文章!发了这篇文章很久了,但是一直都没有人问我另外一个问题,就是我解决这个问题所用到的另外一套代码是什么,很遗憾,所以今天看到其他人转这篇文章的时候,我把另外一套代码也贴出来,共享给大家!

  1.首先建立HTML文件,具体页面文件是什么样子请看《QuickTestPro处理带有IFRAME的问题》一文

   2.利用vb,建立vb工程文件,代码如下(工程需要引入MSHtml,在CPE课程中QTP自动化测试工具实现原理一章我介绍过这个对象,还有加入另外一个activex 空间SHDocVwCtl)

   Dim webdoc As HTMLDocument

    Private Sub cmdfindlink_Click()

    Dim ElementCollection As IHTMLElementCollection
    Dim x
    Dim kx As HTMLDocument
    Dim xAcollection As IHTMLElementCollection
    '
    '提取超链接
    ''定义元素集
    Dim Acollection As IHTMLElementCollection
   
   
   
    Set webdoc = wbBrowser.Document
    Set ElementCollection = webdoc.All
   
   
    ''设置元素集为所有的Anchor元素,用tags方法引用元素
    Set Acollection = webdoc.All.tags("a")
    ''把Anchor元素转换为相应的字符串表示,用items方法引用元素
    For i = 0 To Acollection.length - 1
        lstUrl.AddItem Acollection.Item(i).toString
    Next
    'length属性返回元素集中元素的个数
   
    For i = 0 To webdoc.frames.length - 1
      Set x = webdoc.frames.Item(i)
      Set kx = x.Document
         
      Set xAcollection = kx.All.tags("a")
     
        For j = 0 To xAcollection.length - 1
            lstUrl.AddItem xAcollection.Item(j).toString
        Next
   
   
    Set xAcollection = Nothing
     

Next


End Sub

Private Sub cmdOpenURL_Click(Index As Integer)
 wbBrowser.Navigate "C:\Documents and Settings\Administrator\桌面\针对某些人的问题\test.html"
End Sub

实现代码如上。

原文转自:http://www.ltesting.net