zoukankan      html  css  js  c++  java
  • delphi 从TWebBrowser WebBrowser得到全部html源码

    delphi 从TWebBrowser WebBrowser得到全部html源码

     

     

     http://blog.csdn.net/webouse/article/details/3912174
     

    网上查询出很多方法,归结起来有两种

    1、使用IPersistStreamInit接口实现,函数名都是function GetHtml(const WebBrowser: TWebBrowser) : string;这个函数确实可以得到全部的html源码,但是里面用到了hHTMLText := GlobalAlloc(GPTR, BufSize); 而没有调用GlobalFree释放hHTMLText ,加上GlobalFree(hHTMLText),但是程序会出错,怪不得没有人加释放的函数。

    2、Memo1.Lines.Add(IHtmlDocument2(WebBrowser1.Document).Body.OuterText);这中方法只能得到<head>后面的源码,<head>源码得不到。

    以上两种方法都有缺陷,后来从国外的网站上找到了很简单的方法来取得WebBrowser全部html源码的方法,如下

    uses mshtml;  
    var  
        iall : IHTMLElement;  
    begin  
       if Assigned(WebBrowser1.Document) then  
       begin  
         iall := (WebBrowser1.Document AS IHTMLDocument2).body;  
         while iall.parentElement <> nil do  
         begin  
           iall := iall.parentElement;  
         end;  
         memo1.Text := iall.outerHTML;  
       end;  
    end;  
    

      

  • 相关阅读:
    HDU 2602
    ZOJ 1074 最大子矩阵和
    POJ 3903
    最大子段和
    HDU 1052
    CodeForces 18C
    CodeForces 546B-Soldier and Badges
    UVA 11462-Age sort
    Codeforces Round #326 (Div. 2)-Duff in Love
    Codeforces Round #327 (Div. 2)-Wizards' Duel
  • 原文地址:https://www.cnblogs.com/mitang/p/3322556.html
Copyright © 2011-2022 走看看