Abrir uma pagina web dentro do delphi preenchendo campos
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
Curtidas 0
Respostas
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:
E para inserir valor no input:
O métodopode ser usado para clique de botão.
Observe que é o método, logo usa o ID do elemento e não o name.
Espero que ajude.
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();
Observe que é o método
GetElementByID
Espero que ajude.
GOSTEI 0
Cleber Leite
05/08/2019
O erro do internet explorer eu resolvi.
O problema agora está no access violation.
O problema agora está no access violation.
GOSTEI 0
Cleber Leite
05/08/2019
quando passo
WebBrowser1.OleObject.Document.GetElementByID('QE_NomeEleitor').Value := 'Douglas';
dá erro de access violation
WebBrowser1.OleObject.Document.GetElementByID('QE_NomeEleitor').Value := 'Douglas';
dá erro de access violation
GOSTEI 0
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.
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
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?
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
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?
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
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;
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
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.
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