Você está aqui: Delphi ::: VCL - Visual Component Library ::: TWebBrowser |
Como pesquisar e retornar um elemento HTML em um TWebBrowser usando o método getElementById()Quantidade de visualizações: 15843 vezes |
|
Em algumas situações precisamos pesquisar e retornar um elemento HTML na página carregada em um controle TWebBrowser. Para isso podemos usar o método getElementById(), disponível na interface IHTMLDocument3 (esta interface herda de IDispatch e requer a DLL mshtml.dll e Internet Explorer 5 ou mais recente instalado na máquina cliente). Veja os códigos para os eventos Click de dois botões. No primeiro botão nós carregamos o documento HTML e no segundo pesquisamos e retornamos o conteúdo do elemento HTML com o id que queremos. Este é o código para o documento HTML usado neste exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <html> <head> <title>Acessando documentos HTML usando TWebBrowser</title> </head> <body> <p id="p1">Sou um parágrafo com o id "p1"</p> </body> </html> E aqui está o código Delphi: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
procedure TForm3.Button1Click(Sender: TObject);
var
url: String;
begin
// vamos carregar o documento HTML
url := 'pagina.html';
// vamos acessar a página
WebBrowser1.Navigate(url);
end;
procedure TForm3.Button2Click(Sender: TObject);
var
doc: IHTMLDocument3;
elem: IHTMLElement;
conteudo: String;
begin
// uses MSHTML_TLB
// vamos obter o documento representando a página web
doc := WebBrowser1.Document as IHTMLDocument3;
// o documento foi obtido com sucesso
if doc <> nil then
begin
// vamos tentar encontrar o elemento HTML com o id "p1"
elem := doc.getElementById('p1');
// o documento HTML foi encontrado?
if elem <> nil then
begin
// vamos exibir o texto do elemento
conteudo := elem.getAttribute('innerHTML', 0);
ShowMessage('O conteúdo do elemento é: ' + conteudo);
end
else
begin
ShowMessage('O elemento HTML com o id informado não foi encontrado.');
end;
end
else
begin
ShowMessage('O documento HTML não pôde ser obtido.');
end;
end;
Note que neste código eu testei se a propriedade Document da classe TWebBrowser é nil antes de prosseguir com o código. O mesmo foi feito com o elemento IHTMLElement. Isso evita os erros de violação de acesso caso a página não tenha sido carregada ou o elemento HTML não tenha sido encontrado. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
|
|
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
|
TypeScript - Como calcular o coeficiente angular de uma reta em TypeScript dados dois pontos no plano cartesiano C - Como comparar os primeiros n caracteres de duas strings usando a função strncmp() da linguagem C |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






