Ir al contenido


Foto

Obtener texto de pagina web que esta abierta en el navegador


  • Por favor identifícate para responder
4 respuestas en este tema

#1 gulder

gulder

    Newbie

  • Miembros
  • Pip
  • 2 mensajes

Escrito 29 marzo 2010 - 10:11

Hola foro como andan espero que bien, bueno como lo dice mi pregunta necesito obtener el texto de la pagina que esta abierta en mi navegador actual, ojo que la pagina no la tengo abierta con mi aplicación si no que esta abierta con el navegador actual como lo es mozilla, opera, iE

Con este codigo obtengo la URL de la pagina que esta abierta, esta en delphi 7 y no lo hice yo ojala que alguien me ayude a obtener no solo la url si no tambien el texto de la pagina y cargarla en un Memo





delphi
  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7.   Dialogs, DDEman, StdCtrls;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.   Button1: TButton;
  12.   Edit1: TEdit;
  13.   Edit2: TEdit;
  14.   procedure Button1Click(Sender: TObject);
  15.   private
  16.     { Private declarations }
  17.   public
  18.     { Public declarations }
  19.   procedure GetCurrentURL (var URL, Title : string);
  20. end;
  21.  
  22. var
  23.   Form1: TForm1;
  24.  
  25. implementation
  26.  
  27. {$R *.dfm}
  28.  
  29. procedure TForm1.GetCurrentURL (var URL, Title : string);
  30. var
  31.   DDEClient : TDDEClientConv;
  32.   s : string;
  33. begin
  34.   s := '';
  35.   try
  36.     DDEClient := TDDEClientConv.Create(self);
  37.     with DDEClient do
  38.     begin
  39.       if SetLink('IExplore','WWW_GetWindowInfo') then
  40.         s := RequestData('0xFFFFFFFF,sURL,sTitle')
  41.       else
  42.       if SetLink('Netscape','WWW_GetWindowInfo') then
  43.         s := RequestData('0xFFFFFFFF,sURL,sTitle')
  44.       else
  45.       if SetLink('Mosaic','WWW_GetWindowInfo') then
  46.         s := RequestData('0xFFFFFFFF,sURL,sTitle')
  47.       else
  48.       if SetLink('Netscp6','WWW_GetWindowInfo') then
  49.         s := RequestData('0xFFFFFFFF,sURL,sTitle')
  50.       else
  51.       if SetLink('Mozilla','WWW_GetWindowInfo') then
  52.         s := RequestData('0xFFFFFFFF,sURL,sTitle')
  53.       else
  54.       if SetLink('Firefox','WWW_GetWindowInfo') then
  55.         s := RequestData('0xFFFFFFFF,sURL,sTitle');
  56.     end;
  57.     if s <> '' then
  58.     begin
  59.       delete(s,1,1);
  60.       URL := copy(s,1,pos('","',s)-1);
  61.       delete(s,1,pos('","',s)+2);
  62.       Title := copy(s,1,pos('"',s) - 1);
  63.     end;
  64.     exit;
  65.   except
  66.     MessageDlg('URL attempt failed!',mtError,[mbOK],0);
  67.   end;
  68. end;
  69.  
  70. procedure TForm1.Button1Click(Sender: TObject);
  71. var
  72.   URL : string;
  73.   Title : string;
  74. begin
  75.   GetCurrentURL (URL, Title);
  76.   Edit1.Text := URL;
  77.   Edit2.Text := Title;
  78. end;
  79.  
  80. end.



bueno foro si la solucion no la tienen en delhpi 7 si no en otro lenguaje no importa yo me adapto al lenguaje en que lo pongan
  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 30 marzo 2010 - 07:27

Hola Gulder y bienvenido a DelphiAccess, lo que se me ocurre es como ya obtienes la url del navegador abierto, pues descargar la informacion de manera temporal (HTML) y cargarlo al memo.

Saludos.
  • 0

#3 gulder

gulder

    Newbie

  • Miembros
  • Pip
  • 2 mensajes

Escrito 30 marzo 2010 - 10:06

hola enecumene gracias por la bienvenida ..

Bueno respondiendo a lo que me dices tienes razón, pero lo que me dices falla si la pagina es una pagina donde hay que loguearce puesto que si intento desde mi aplicación abrir la url para cargarla en un memo, esta me pide que me logue entonces falla lo que intento hacer saludos espero alguna ayuda al respecto
  • 0

#4 maxid

maxid

    Member

  • Miembros
  • PipPip
  • 14 mensajes
  • LocationCordoba

Escrito 30 marzo 2010 - 11:15

tira un componente indy http, le envias la pagina y en la propiedad text tenes todo el html. el cual vas a tener que decodificar
Si lo que queres es algo dentro del html, hay una compo cdparser que te separa por etiquetas
  • 0

#5 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 30 marzo 2010 - 03:40

tira un componente indy http, le envias la pagina y en la propiedad text tenes todo el html. el cual vas a tener que decodificar
Si lo que queres es algo dentro del html, hay una compo cdparser que te separa por etiquetas


Excelente opción, la secundo (y)
  • 0




IP.Board spam blocked by CleanTalk.