Abrir uma pagina web dentro do delphi preenchendo campos

Delphi

05/08/2019

Alguém sabe me explicar como consigo abrir uma página web (http://www.tse.jus.br/eleitor/servicos/certidoes/certidao-de-quitacao-eleitoral) dentro do delphi, preenchendo os campos?
Cleber Leite

Cleber Leite

Curtidas 0

Respostas

Douglas Wordell

Douglas Wordell

05/08/2019

Boa tarde, já faz alguns dias, mas caso ainda não tenha conseguido, uma maneira que sei ser possível é utilizando o componente TWebBrowser, mas só usei em alguns testes e para mim resolveu.
Adiciona um WebBrowser no formulário, para carregar a página:
WebBrowser1.Navigate('http://www.tse.jus.br/eleitor/servicos/certidoes/certidao-de-quitacao-eleitoral');

E para inserir valor no input:
WebBrowser1.OleObject.Document.GetElementByID('QE_NomeEleitor').Value := 'Douglas';

O método
.Click(); 
pode ser usado para clique de botão.
Observe que é o método
GetElementByID
, logo usa o ID do elemento e não o name.
Espero que ajude.
GOSTEI 0
Cleber Leite

Cleber Leite

05/08/2019

O erro do internet explorer eu resolvi.
O problema agora está no access violation.
GOSTEI 0
Cleber Leite

Cleber Leite

05/08/2019

quando passo
WebBrowser1.OleObject.Document.GetElementByID('QE_NomeEleitor').Value := 'Douglas';

dá erro de access violation
GOSTEI 0
Douglas Wordell

Douglas Wordell

05/08/2019

Esse código você executa quando? Logo após chamar a página (antes de carregar)?
Esqueci de avisar, no meu teste eu coloquei 2 botões, um pra carregar a página e outro para acessar o componente pois a página precisa estar carregada, senão o elemento não existe.
GOSTEI 0
Cleber Leite

Cleber Leite

05/08/2019

Douglas, obrigado.
Funcionou. Só que estou com outros dois problemas agora. A parte do captcha não aparece no form. E não estou conseguindo marcá-la. Então quando clico no emitir do site ele me retorna uma consulta.json.

Pode me ajudar mais um pouco?
GOSTEI 0
Douglas Wordell

Douglas Wordell

05/08/2019

Eu não tinha reparado o captcha do Google.
Estive fazendo busca e achei uma API de uso gratuito: https://catalogo.conecta.gov.br/store/apis/info?name=QuitacaoEleitoral&version=v1&provider=ronnie.dilli#!/Quitacao_Eleitoral/ConsultarQuitacaoEleitoralPost
Será que não te ajuda?
GOSTEI 0
Roberto Rodrigues

Roberto Rodrigues

05/08/2019

Segue um exemplo que utilizo e funciona com Webbrowser.
Primeiro abre o Site.
WebBrowser1.Silent := True;
WebBrowser1.Navigate(''''https://wwwc.siscoserv.mdic.gov.br/SiscoservAqui/registroIncluir.do'''');
//do ReadyState for ''''completo''''
while ( WebBrowser1.ReadyState <> READYSTATE_COMPLETE ) do
begin
Application.ProcessMessages;
Sleep(0);
end;

WebBrowser1.OleObject.Document.all.Item(''''cpfcnpj'''', 0).value := DM.IBAQUISICAOAQS_CPFCNPJVENDEDOR.AsString;
WebBrowser1.OleObject.Document.all.Item(''''avancar'''', 0).Click;
End;
IF _Tacesso = 4 Then
WebBrowser1.OleObject.Document.all.Item(''''avancar'''', 0).Click;
End;
GOSTEI 0
Cleber Leite

Cleber Leite

05/08/2019

Roberto,
Obrigado pela resposta. O problema é que o captcha não aparece quando abro a página utilizando o webBrowser. Ele até abre com os campos que eu passo mas não abre a marca do captcha, igual este que tem abaixo do tópico de escrever.
GOSTEI 0
POSTAR