• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    VB掌管WebBrowser訪問MSHTML成員一點經驗

    發布: 2007-7-14 20:28 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 29次 | 進入軟件測試論壇討論

    領測軟件測試網 VB掌管WebBrowser訪問MSHTML成員雖然較VC++有限,但對大多數的應用問題不大,而且實現過程也很簡單.

    一.在VB中使用WebBroswer控件
    1.在VB中使用Microsoft Internet Controls做瀏覽器最方便,但遠不能盡WebBrowser之所能. VB能夠實現的一些功能如下:
       >掌管WebBrowser控件實現瀏覽功能
       >自動化IE
       >捕捉IE事件
       >訪問DHTML對象模型
    但VB不能使用高級掌管接口實現例如關閉Context Menu和控制下載內容等一些功能.有關用VB對IE編程的知識可以參考微軟圖書<<Microsoft Internet Exploer 5 程序設計(Programmning Internet Explorer 5)>>的相應部分.

    2.調用WebBrowser的ExecWB方法能實現一些額外的功能比如CUT,PASTE和SAVEAS等,包含在OLEMDID枚舉表中,可以在對象瀏覽器中看到. 這樣我們就可以使WebBrowser具有一些編輯功能,如:
          WebBrowser1.ExecWB OLECMDID_PASTE, OLECMDEXECOPT_DODEFAULT
    可以把HTML格式的內容粘貼進WebBroser中, 這樣就可以方便的實現一個HTML剪貼工具,既拷貝字符,又保留格式,NotePad靠邊站吧.

    二.訪問MSHTML成員

    1.用VB訪問DHTML模型,實現對HTML元素的操作非常簡單易行.引用Micsoft HTML Object Library之后就可以在對象瀏覽器看到包含的類及其屬性方法.其中主要包含以HTML和IHTML為類名前綴的類,這些類給HTML, DHTML以及腳本(VBSCRIPT, JAVASCRIPT)對象提供定義與接口. 在VB中我們可以用這些類來創建用于訪問網頁元素的對象實例.而且程序編制與寫網頁腳本一樣簡單且相似,所以可以用VBSCRIPT和JAVASCRIPT的資料作參考(本人在學習VB的這一應用時學通了DHTML),例如:微軟圖書<<動態超文本標識語言從入門到精通(Inside Dynamic HTML)>>(一本翻譯的很爛的書!). 如果掌握了VC++ 和MFC, MSDN自然也是個好去處, 那兒有關于MSHTML的豐富資料(雖然不能往VB里照搬,我們可以試驗VB在許多方面的可行性.)

    2.MSHTML類庫[Micsoft HTML Object Library]
        訪問MSHTML要引用MSHTML組件庫.在IE5以前,這個庫包含在mshtml.dll中,對IE5來說這個類型庫被轉移到mshtml.tlb中. 出于某種原因,也許在引用列表里看不到Micsoft HTML Object Library, 不過可以在文件對話框里鍵入類型庫文件名添加引用.

    3.一個例子: 在使用搜索引擎(例如MSN)搜索英文網頁時, 希望關鍵字在搜到的條目中高亮或加重顯示. 我讓WebBrowser導航到搜索頁面,然后給所有的關鍵字都加上了<SPAN>,另外把網頁上的超鏈接都塞進一個列表框. 其中的查找關鍵字使用IHTMLTEXTRANGE, 它用于對網頁上文本的訪問.


    --------------------------------------------------------------------------------

    部件: Microsoft Internet Controls
    引用: Micsoft HTML Object Library --- 參看"MSHTML類庫"
    控件: WebBrowser1; List1; Label1; Command1
    屬性: Command1.Caption="FIND"


    --------------------------------------------------------------------------------

    CODE:

    Dim webdoc As HTMLDocument
    Dim texbody As HTMLBody
    Dim Rng As IHTMLTxtRange
    ' ----------------------------------------------------------------------------------------
    Private Sub Command1_Click()
    '查找關鍵字
    On Error Resume Next
    Set texbody = webdoc.body
    Set Rng = texbody.createTextRange()
    Do While Rng.findText(Text1.Text) <> False
    Rng.Select
    Rng.pasteHTML "<span style='background:SILVER'>" + Text1.Text + "</span>"
    '
    '用IHTMLTxtRange的execCommand方法可以實現加粗等功能,如:
    'Rng.execCommand "bold"
    'Rng.execCommand "underline"
    'Rng.execCommand "italic"
    '參看MSDN>DHTML Reference>Command Identifers
    '
    Rng.collapse False
    Loop
    Rng.collapse True
    End Sub
    '---------------------------------------------------------------------------------------------
    Private Sub Form_Load()
    WebBrowser1.navigate "http://search.msn.com/results.asp?q=wordlist"
    Text1.Text = ""
    End Sub
    '---------------------------------------------------------------------------------------------
    Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
    '將webdoc設置到被WebBrowser的Document屬性返回的文擋對象中
    Set webdoc = WebBrowser1.document
    '提取超鏈接
    ''定義元素集
    Dim Acollection As IHTMLElementCollection
    ''設置元素集為所有的Anchor元素,用tags方法引用元素
    Set Acollection = webdoc.All.tags("a")
    ''把Anchor元素轉換為相應的字符串表示,用items方法引用元素
    For i = 0 To Acollection.length - 1
        List1.AddItem Acollection.Item(i).toString
    Next
    'length屬性返回元素集中元素的個數
    Label1.Caption = "Number of links: " + Str$(Acollection.length)
    End Sub

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>