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: 14459 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: ---------------------------------------------------------------------- Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar) Este código foi útil? Doe R$ 5,00 e ajude-nos a manter o site no ar :-( PIX: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <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: ---------------------------------------------------------------------- Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar) Este código foi útil? Doe R$ 5,00 e ajude-nos a manter o site no ar :-( PIX: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- 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 |
Java - Exercício Resolvido de Java - Usando um laço for para contar de 0 até 10 e somar todos os valores |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |