Rafazuhdo Postado Setembro 15, 2009 Denunciar Share Postado Setembro 15, 2009 (editado) Eu consegui fazer o programa para capturar um texto de um site,com o componente (embeddedWB)Eu tentei capturar dados de texto da fonte de um site ai,mas ele é feito por framesexemplo: ele carrega o corpo por varias paginas de fora dentro dessa Unica pagina.<html> <title>SITE </title> <head> <body> <frame src="topo.php"> <frame src="meio.php"> <frame src="baixo.php"> </head> </body> </html>e tem que configurar nesse codigo aqui abaixo para buscar o texto no frame da pagina topo.phpcodigo: edit6.text:= EmbeddedWB1.OleObject.Document.GetElementByID('texto').Value;Alguém aí por favor pode me ajudar como configurar esse código para buscar o texto no "frame topo.php" ?Aguardo retornos Editado Setembro 15, 2009 por Jonathan Queiroz Adcionar tag's (Jonathan) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Setembro 15, 2009 Denunciar Share Postado Setembro 15, 2009 Eu tentei capturar dados de texto da fonte de um siteVeja estes Postshttp://scriptbrasil.com.br/forum/index.php...st&p=559407http://scriptbrasil.com.br/forum/index.php...st&p=559441localizar uma string em um TWebBrowserhttp://delphi.about.com/od/adptips2004/a/bltip1004_3.htmabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafazuhdo Postado Setembro 15, 2009 Autor Denunciar Share Postado Setembro 15, 2009 Nesses Links nenhum me ajudo a configurar pra buscar na IFRAME do site o texto desejado;alguém PODE ME AJUDAR PORFAVOR???? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafazuhdo Postado Setembro 15, 2009 Autor Denunciar Share Postado Setembro 15, 2009 (editado) MODERADOReste codigo aqui servi para trazer um certo texto que está dentro de uma TAG no WEBBROWSER certo?procedure WBLocateHighlight(WB: TWebBrowser; Text: string); const prefix = '<span style="color:white; background-color: red;">'; suffix = '</span>'; var tr: IHTMLTxtRange; begin if Assigned(WB.Document) then begin tr := ((wb.Document AS IHTMLDocument2).body AS IHTMLBodyElement).createTextRange; while tr.findText(Text, 1, 0) do begin tr.pasteHTML(prefix + tr.htmlText + suffix); tr.scrollIntoView(True); end; end; end;COMO EU FAÇO PARA VIZUARLIZAR O TEXTO TRATADO EM UM TMEMO???AGUARDO QUE ME AJUDEM AI GALERA Editado Setembro 15, 2009 por Jhonas Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Setembro 15, 2009 Denunciar Share Postado Setembro 15, 2009 este codigo aqui servi para trazer um certo texto que está dentro de uma TAG no WEBBROWSER certo?procedure WBLocateHighlight(WB: TWebBrowser; Text: string); O WBLocateHighlight localiza toda a ocorrência de uma string passada como um " parâmetro de Texto " em um documento web carregado em um componente de TWebBrowser passado como " parâmetro de WB ". O fundo da string localizada é tornado vermelho com o texto em branco ( prefix e suffix ). Como eu faço para visualizar o texto tratado em um TMemo ??? procedure WBLocateHighlight(WB: TWebBrowser; Text: string); const prefix = '<span style="color:white; background-color: red;">'; suffix = '</span>'; var tr: IHTMLTxtRange; begin TForm1.Memo1.Clear; if Assigned(WB.Document) then begin tr := ((wb.Document AS IHTMLDocument2).body AS IHTMLBodyElement).createTextRange; while tr.findText(Text, 1, 0) do begin tr.pasteHTML(prefix + tr.htmlText + suffix); tr.scrollIntoView(True); TForm1.Memo1.Lines.Append(prefix + tr.htmlText + suffix); end; end; end;OBS: Se quiser apenas o texto TForm1.Memo1.Lines.Append(tr.htmlText);abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafazuhdo Postado Setembro 15, 2009 Autor Denunciar Share Postado Setembro 15, 2009 MODERADOR, eu coloquei no site as seguintes condiçoes1- o webbrowser para navegar1- um butao para navegar o webbrowser1- tmemo1- uma pagina rodando no servidor php,com as prefix e suffix igual a do codigo procedureolha o code:procedure WBLocateHighlight(WB: TWebBrowser; Text: string); const prefix = '<span style="color:white; background-color: red;">'; suffix = '</span>'; var tr: IHTMLTxtRange; begin Form1.Memo1.Clear; if Assigned(WB.Document) then begin tr := ((wb.Document AS IHTMLDocument2).body AS IHTMLBodyElement).createTextRange; while tr.findText(Text, 1, 0) do begin tr.pasteHTML(prefix + tr.htmlText + suffix); tr.scrollIntoView(True); Form1.Memo1.Lines.Append(prefix + tr.htmlText + suffix); end; end; end; procedure TForm1.Button1Click(Sender: TObject); begin WB.Navigate('127.0.0.1/teste.php'); end; end.MAS não TA APARECENDO NADA NO TMEMO,TEM QUE FAZER ALGUM BOTAO PARA ATIVAR O PROCEDURE DE TRATAR A CAPTURA DE TEXTO???? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Setembro 15, 2009 Denunciar Share Postado Setembro 15, 2009 MAS não TA APARECENDO NADA NO TMEMO,TEM QUE FAZER ALGUM BOTAO PARA ATIVAR O PROCEDURE DE TRATAR A CAPTURA DE TEXTO????Voce só colocou o botão para navegar e onde está o comando para localizar o texto ?procedure WBLocateHighlight(WB: TWebBrowser; Text: string); const prefix = '<span style="color:white; background-color: red;">'; suffix = '</span>'; var tr: IHTMLTxtRange; begin TForm1.Memo1.Clear; if Assigned(WB.Document) then begin tr := ((wb.Document AS IHTMLDocument2).body AS IHTMLBodyElement).createTextRange; while tr.findText(Text, 1, 0) do begin tr.pasteHTML(prefix + tr.htmlText + suffix); tr.scrollIntoView(True); TForm1.Memo1.Lines.Append(prefix + tr.htmlText + suffix); end; end; end; procedure TForm1.Button1Click(Sender: TObject); begin WB.Navigate('127.0.0.1/teste.php'); // navegar na pagina end; procedure TForm1.Button2Click(Sender: TObject); begin WBLocateHighlight(WB,'texto procurado'); // localizar o texto na pagina web end;Obs: uma vez que o texto seja localizado na página, o memo receberá a stringabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafazuhdo Postado Setembro 17, 2009 Autor Denunciar Share Postado Setembro 17, 2009 (editado) Tranks,vlw Jhonas. :D alguém AI SABE A SOLUÇÃO PARA CAPTURAR DADOS DO SITE ,DE SITE QUE CONTEM IFRAMES???? :( AGUARDO RESPOSTA Editado Setembro 17, 2009 por Rafazuhdo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 geovanepc Postado Setembro 17, 2009 Denunciar Share Postado Setembro 17, 2009 Não sei se entendi bem mais veja se esse código te ajuda em alguma coisa:-------------------------------------------------------------------------------------------------------------------------------Crie uma nova aplicação, coloque um WebBrowser (paleta Internet), um Memo e um botão no Form. Substitua todo o código pelo abaixo e faça os links do FormCreate e do Botão. unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, OleCtrls, SHDocVw; type TForm1 = class(TForm) WebBrowser1: TWebBrowser; Memo1: TMemo; Button1: TButton; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses ActiveX; {$R *.DFM} procedure TForm1.FormCreate(Sender: TObject); begin WebBrowser1.Navigate('http://www.uol.com.br'); end; procedure TForm1.Button1Click(Sender: TObject); begin Memo1.Text := WebBrowser1.OleObject.Document.documentElement.innerText end; initialization OleInitialize(nil); finalization OleUninitialize; end.Aí você vai pegar tudo que existe no site, depois é só pesquisar a informação dentro do Memo.Até mais. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafazuhdo Postado Setembro 17, 2009 Autor Denunciar Share Postado Setembro 17, 2009 (editado) Boa noiteOpa mano,esse codigo ai pega tudo que tiver na index,mas em site com IFRAME pega somente isso aqui:<html><head><title>iframe</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /></head><body><iframe id="jj" marginWidth=0 marginHeight=0 src="campo.php" frameBorder=0 width=800 height=600></iframe><iframe id="jjj" marginWidth=0 marginHeight=0 src="campo2.php" frameBorder=0 width=800 height=600></iframe></body></html>ai to querendo capturar o valores digitados nos input da frame src=''campo.php'' entendeu? =[ ......porke o conteudo todo fica la,ai nesse seu codigo que voce posto nom da pra capturar,tem que ser um que localize a frame e pegue dentro dakela pagina da frame.... mas tem que capturar pela pagina index mesmo onde contem os frames. :unsure: Editado Setembro 18, 2009 por Rafazuhdo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafazuhdo Postado Setembro 18, 2009 Autor Denunciar Share Postado Setembro 18, 2009 MODERADOR JHONAS E GALERA TODA AI,OBRIGADO POR ME AUXILIAREM.;;MAS POR INCRIVEL que PAREÇA CONSEGUI DESENVOLVI ISSO,pegar uma valor digitado em um input puxado por iframes,É UM PROBLEMA QUE MUITOS TEM.vlws a todos.ateh mas[tópico RESOLVIDO] :D Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Rafazuhdo
Eu consegui fazer o programa para capturar um texto de um site,com o componente (embeddedWB)
Eu tentei capturar dados de texto da fonte de um site ai,mas ele é feito por frames
exemplo: ele carrega o corpo por varias paginas de fora dentro dessa Unica pagina.
e tem que configurar nesse codigo aqui abaixo para buscar o texto no frame da pagina topo.php
codigo: edit6.text:= EmbeddedWB1.OleObject.Document.GetElementByID('texto').Value;
Alguém aí por favor pode me ajudar como configurar esse código para buscar o texto no "frame topo.php" ?
Aguardo retornos
Editado por Jonathan QueirozAdcionar tag's (Jonathan)
Link para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.