Preencher campos de um website
Gostaria de uma ajuda para preenchimento de um website mais precisamente esse aqui https://www8.receita.fazenda.gov.br/SimplesNacional/controleacesso/autentica.aspx?id=5 e posicionar para o usuario digitar o antirobo se alguem puder me ajudar eu agradeco.
Quiano
Curtidas 0
Respostas
Diegotiemann
07/03/2009
Bom dia
acho que tenho a solução pra você, começei um projeto parecido mas acabei não terminando, mas essa parte de preencher o código de validação eu fiz, tenho os fontes em casa mas vou te dar os passos ba´sicso, qualquer coisa te mando o código na sexta feira.
Tem que usar TWebBroser,
1º Carregar a página no web broser, extair a imagem do webBroser
2º Exibir a imagem num TImage, junto de um Edit
3º pegar o testo digirtado no edit e preencher o campo de validação
4º Simular o clique do botão da página.
É bem complexo, a parte de validação nem cheguei a fazer, mas se prescisar posto o código aqui, mas lembre de deixar o post no topo na sexta feira.
acho que tenho a solução pra você, começei um projeto parecido mas acabei não terminando, mas essa parte de preencher o código de validação eu fiz, tenho os fontes em casa mas vou te dar os passos ba´sicso, qualquer coisa te mando o código na sexta feira.
Tem que usar TWebBroser,
1º Carregar a página no web broser, extair a imagem do webBroser
2º Exibir a imagem num TImage, junto de um Edit
3º pegar o testo digirtado no edit e preencher o campo de validação
4º Simular o clique do botão da página.
É bem complexo, a parte de validação nem cheguei a fazer, mas se prescisar posto o código aqui, mas lembre de deixar o post no topo na sexta feira.
GOSTEI 0
Rodc
07/03/2009
Pesquisa no fórum:
http://forum.devmedia.com.br/search.php?mode=results
http://forum.devmedia.com.br/search.php?mode=results
GOSTEI 0
Quiano
07/03/2009
Entao estou tentando aqui e nada eu soh preciso conseguir os prencher os campos para seguir os caminhos da pedra tentei o link q o amigo passou fiz uma pesquisa mas nao achei ainda nada que resolva o meu problema, poste o codigo ou me mande por e-mail fazendo favor se puder
GOSTEI 0
Rodc
07/03/2009
Já faz tempo que implementei este código e não o tenho mais...
Mas dá uma olhada no código deste link que talvez lhe sirva: http://www.swissdelphicenter.ch/en/showcode.php?id=262
Mas dá uma olhada no código deste link que talvez lhe sirva: http://www.swissdelphicenter.ch/en/showcode.php?id=262
GOSTEI 0
Quiano
07/03/2009
vou dar uma analisada no codigo hj a noite e posto o resultado na sequencia
GOSTEI 0
Quiano
07/03/2009
Aparentemente ele escreve no campo mas no webbrowse ele nao atualiza
vou ver consigo mais alguma coisa vou postar o codigo e se alguem puder me ajudar eu agradeco.
vou ver consigo mais alguma coisa vou postar o codigo e se alguem puder me ajudar eu agradeco.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, SHDocVw, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
WebBrowser1: TWebBrowser;
// function FillForm(WebBrowser: TWebBrowser; FieldName: string; Value: string): Boolean;
procedure WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant);
procedure WebBrowser1ProgressChange(Sender: TObject; Progress, ProgressMax: Integer);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function FillForm(WebBrowser: TWebBrowser; FieldName: string; Value: string): Boolean;
var
i, j: Integer;
FormItem: Variant;
begin
Result := False;
//no form on document FORM
if WebBrowser.OleObject.Document.all.tags(´FORM´).Length = 0 then
begin
Exit;
end;
//count forms on document
for I := 0 to WebBrowser.OleObject.Document.forms.Length - 1 do
begin
FormItem := WebBrowser.OleObject.Document.forms.Item(I);
for j := 0 to FormItem.Length - 1 do
begin
try
//when the fieldname is found, try to fill out
if FormItem.Item(j).Name = FieldName then
begin
FormItem.Item(j).Value := Value;
Result := True;
end;
except
Exit;
end;
end;
end;
end;
//When the document is complete try to fill out the field homepage with the url
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant);
begin
if FillForm(WebBrowser1, ´txtCNPJ´, ´00364351000181´) = False then
ShowMessage(´Error. Field not available or no Form found.´)
else
ShowMessage(´Escreveu´);
end;
// Show the Webbrowser-Progress in Label1
procedure TForm1.WebBrowser1ProgressChange(Sender: TObject; Progress, ProgressMax: Integer);
begin
if ProgressMax = 0 then
begin
// label1.Caption := ´´;
Exit;
end;
try
if (Progress <> -1) and (Progress <= ProgressMax) then
// label1.Caption := IntToStr((Progress * 100) div ProgressMax) + ´¬ loaded...´
else
//label1.Caption := ´´;
except
on EDivByZero do Exit;
end;
end;
//For example you can load the page /en/addtip.php to the TWebBrowser
//When the document is Complete the form where you can put your homepage
//address is filled out
procedure TForm1.Button1Click(Sender: TObject);
begin
Webbrowser1.Navigate(´https://www8.receita.fazenda.gov.br/SimplesNacional/controleacesso/autentica.aspx?id=5´);
//Caption := Webbrowser1.OleObject.Document.Title;
ShowMessage(´Terminou´);
end;
end.
GOSTEI 0
Diegotiemann
07/03/2009
Enviei umn arquivo com os fontes para o email halvesdesouza@hotmail.com
GOSTEI 0
Quiano
07/03/2009
Agradeco a todos q tentaram ajudar mais nao consegui fazer o negocio funcionar, os fontes q o amigo me passou deu certo para paginas php mas para essa pagina em especifico nao deu certo.
Vou tentar se conseguir eu posto aqui a solucao encontrada
Vou tentar se conseguir eu posto aqui a solucao encontrada
GOSTEI 0
Flaviocont
07/03/2009
re se vc ainda nao conseguiu me da um retorno q t passo os codigos
GOSTEI 0
Quiano
07/03/2009
Po velho seria de grande ajuda nao consegui ainda fazer o preenchimento. se puder me enviar agradeco.
GOSTEI 0
Quiano
07/03/2009
Queria agradecer o Flavio pelo codigo, funcionou blz
GOSTEI 0
Elton
07/03/2009
Queria agradecer o Flavio pelo codigo, funcionou blz
Cara estou com essa dúvida hoje, poderia disponibilizar para eu ver se resolver o meu problema?
GOSTEI 0
Elton
07/03/2009
Alguém saberia me dizer como faço para tirar uma informação de meu sistema e inserir em uma determinada página?
Tipo, não quero usar nenhum componente, nem WebBrowser e ne Chromium...
Tipo assim:
ShellExecute(Handle, 'open', 'https://www.google.com', nil, nil, SW_SHOWMAXIMIZED);
Ótimo, aqui abro a página (caso alguém precise)
Agora preciso pegar o campo loguin e senha que está na minha tabela e inserir nos campos da página!
Estou com esse problema para resolver, mas todos os exemplos que encontrei foi usando o WebBrowser, mas ele não funciona com as versões atuais do internet explore.
Ficarei muito grato caso alguém puder me ajudar ok
Abraço Galera.
Caso alguém tenha algum exemplo e puder me mandar segue meu email (elton@locsoft.com.br)
Tipo, não quero usar nenhum componente, nem WebBrowser e ne Chromium...
Tipo assim:
ShellExecute(Handle, 'open', 'https://www.google.com', nil, nil, SW_SHOWMAXIMIZED);
Ótimo, aqui abro a página (caso alguém precise)
Agora preciso pegar o campo loguin e senha que está na minha tabela e inserir nos campos da página!
Estou com esse problema para resolver, mas todos os exemplos que encontrei foi usando o WebBrowser, mas ele não funciona com as versões atuais do internet explore.
Ficarei muito grato caso alguém puder me ajudar ok
Abraço Galera.
Caso alguém tenha algum exemplo e puder me mandar segue meu email (elton@locsoft.com.br)
GOSTEI 0