Fórum Preencher campos de um website #368885
07/03/2009
0
Quiano
Curtir tópico
+ 0Posts
09/03/2009
Diegotiemann
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
09/03/2009
Rodc
http://forum.devmedia.com.br/search.php?mode=results
Gostei + 0
09/03/2009
Quiano
Gostei + 0
10/03/2009
Rodc
Mas dá uma olhada no código deste link que talvez lhe sirva: http://www.swissdelphicenter.ch/en/showcode.php?id=262
Gostei + 0
10/03/2009
Quiano
Gostei + 0
10/03/2009
Quiano
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
10/03/2009
Diegotiemann
Gostei + 0
25/03/2009
Quiano
Vou tentar se conseguir eu posto aqui a solucao encontrada
Gostei + 0
29/03/2009
Flaviocont
Gostei + 0
30/03/2009
Quiano
Gostei + 0
30/03/2009
Quiano
Gostei + 0
20/08/2021
Elton
Cara estou com essa dúvida hoje, poderia disponibilizar para eu ver se resolver o meu problema?
Gostei + 0
20/08/2021
Elton
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
Clique aqui para fazer login e interagir na Comunidade :)