Você está aqui: Delphi ::: VCL - Visual Component Library ::: TWebBrowser |
Acessando um formulário HTML em um TWebBrowser por meio de seu índiceQuantidade de visualizações: 14591 vezes |
|
Em algumas situações gostaríamos de acessar um determinado formulário em uma página HTML carregada em um controle TWebBrowser e retorná-lo como um objeto da interface IHTMLFormElement. Nesta dica eu mostro como isso pode ser feito. O primeiro passo é criar o documento HTML a ser usado no exemplo. Veja: ---------------------------------------------------------------------- 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> <form name="form1" action="gravar.php" method="post"> Usuário: <input type="text" name="usuario"> <input type="submit" value="Enviar"> </form> </body> </html> Note que este documento HTML contém um formulário com uma caixa de texto e um botão Enviar. Nossa intenção é acessar este formulário a partir de código Delphi e obter suas propriedades, a saber, name, action e method. Eis 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: IHTMLDocument2;
form: IHTMLFormElement;
begin
// uses MSHTML_TLB
// vamos obter o documento representando a página web
doc := WebBrowser1.Document as IHTMLDocument2;
// o documento foi obtido com sucesso
if doc <> nil then
begin
// vamos agora obter o formulário...queremos o primeiro formulário
if doc.forms.length = 0 then
begin
ShowMessage('O documento HTML não contém formulários');
end
else
begin
form := doc.forms.item(0, '') as IHTMLFormElement;
// vamos exibir algumas propriedades do formulário
ShowMessage('Propriedade name: ' + form.name);
ShowMessage('Propriedade action: ' + form.action);
ShowMessage('Propriedade method: ' + form.method);
end;
end
else
begin
ShowMessage('O documento HTML não pôde ser obtido.');
end;
end;
Veja que, diferente de outros exemplos, aqui tivemos que usar a interface IHTMLDocument2 em vez de IHTMLDocument3 ou IHTMLDocument4. Isso acontece porque a interface IHTMLDocument2 é a única que permite acesso à propriedade forms do documento HTML. 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 |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





