各位高人,有没有办法取得当前浏览页面的html呢?
比如这样做:我正在浏览一个页面,需要获取这个页面的包含email的文字。
用浏览器菜单的:查看》查看源代码可以实现,delphi有没有代码可以实现类似于这样的功能呢?

解决方案 »

  1.   

    自己做个浏览器,使用webbrowser控件,网上搜素很多webbrowser获得网页代码的方法
      

  2.   

    谢谢楼上的两位朋友。
    是这样的情况:以当前正在看的这个csdn页为例,我写的一段代码定时器中一段代码执行要达到的目的是,取得当前这个csdn页的html内容。
    能否静静的做这些工作,而不是让用户用我编写的浏览器输入网址?
      

  3.   

    不管这个html源代码,貌似得到页面的内容也非常有难度!
    浏览器句柄,页面句柄,是两个东西。
    GetForegroundWindow函数,当鼠标点在页面内容的时候,得到的是页面句柄,用CTRL+A可以获得页面内容,这个很好。但是当鼠标点在标题栏的时候,得到的是浏览器的句柄,这个时候CTRL+A是无效的。大家可以将鼠标点一下浏览器的标题,然后按CTRL+A,会发现无法全选。
    比如要做这样一件事情,30分钟时间一直浏览网页,在这30分钟内定时器每隔2分钟就获取一下正在浏览的页面内容(文本的也行),存储起来备案。
      

  4.   

    只要取得网址, 用idhttp.get就拿到内容了。
      

  5.   

    idhttp.get对于动态的网址无效,因为如果有session就失效了。
      

  6.   

    新建一个工程,把一个TWebBrowser和一个TMemo以及一个TButton防盗窗体上,然后加入如下的代码:uses mshtml;//Loading a page when the program runs
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      WebBrowser1.Navigate('http://codeback.net');
    end;//In the OnClick events of button1, adding codes.
    procedure TForm1.Button1Click(Sender: TObject);
    var
       iElement : IHTMLElement;
    begin
       if Assigned(WebBrowser1.Document) then
       begin
    iElement := (WebBrowser1.Document AS IHTMLDocument2).body;while iElement.parentElement nil do
    begin
      iElement := iElement.parentElement;
    end;
    memo1.Text := iElement.outerHTML;
       end;
    end;之后运行工程,点击Button1按钮,看看效果,即可获得网页的html源码。文章出处:How to get a web page's html source by using TWebBrowser component in delphi 
    -