Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Entre para seguir isso  
marilia.lima

Dúvidas - Acessando e submetendo form via código com TWebBrowser

Recommended Posts

Pessoal, estou tentando fazer com que um programa em delphi acesse um site via WebBrowser, passe valores de um formulário e submeta esses dados.

Só que quando eu tento buscar o HTML do site informado, está me retornando null, ou seja, nada mais funciona porque tudo depende desse html. Não sei porque está vindo null.. Alguem pode me ajudar?????

O código ficou assim:


procedure TForm1.Button1Click(Sender: TObject);
var
document: IHTMLDocument2;
theForm: IHTMLFormElement;
index: integer;
begin
WebBrowser1.Navigate('http://www.elabore.net/elabore/_form_cotacao.php');
document := WebBrowser1.document as IHTMLDocument2;
theForm := GetFormByNumber(document,0);
SetFieldValue(theForm,'nome_fisica','MariliaTeste');
theForm.submit;
end;

function TForm1.GetFormByNumber(document: IHTMLDocument2;formNumber: integer): IHTMLFormElement;
var
forms: IHTMLElementCollection;
begin
if Assigned(WebBrowser1.Document) then
forms := document.Forms as IHTMLElementCollection;
if formNumber < forms.Length then
result := forms.Item(formNumber,'') as IHTMLFormElement
else
result := nil;
end;

procedure TForm1.SetFieldValue(theForm: IHTMLFormElement; const fieldName,
newValue: string);
var
field: IHTMLElement;
inputField: IHTMLInputElement;
selectField: IHTMLSelectElement;
textField: IHTMLTextAreaElement;
begin
field := theForm.Item(fieldName,'') as IHTMLElement;
if Assigned(field) then
begin
if field.tagName = 'INPUT' then
begin
inputField := field as IHTMLInputElement;
inputField.value := newValue;
end
else if field.tagName = 'SELECT' then
begin
selectField := field as IHTMLSelectElement;
selectField.value := newValue;
end
else if field.tagName = 'TEXTAREA' then
begin
textField := field as IHTMLTextAreaElement;
textField.value := newValue;
end;
end;
end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

marilia, tem uma maneira fácil e rápida de fazer isso analise o código abaixo!

{adicione o componente IdHTTP da paleta Indy Clients}

procedure TForm1.Button1Click(Sender: TObject);

var

Ts : TStringList;

CODfonte : String;

begin

Ts := TStringList.Create;

try

Ts.Add('dado1=valor1');

Ts.Add('dado2=valor2');

Ts.Add('dado3=valor3');

IdHTTP1.Request.ContentType := 'application/x-www-form-urlencoded';

CODfonte := IdHTTP1.Post('http://www.site.com/arquivo.php',Ts);

memo1.Text := CODfonte;

finally

Ts.free;

end;

end;

qualquer dúvida mande um e-mail para mazin.z@hotmail.com que postarei as duvidas nesse tópico

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×