Olá CarlosFilho, como vai?
Minha aplicação também parou com a mudança na receita depois de muito pesquisar, verifiquei realmente que aqui algumas soluções já foram apresentadas, entretanto, ainda não atendeu totalmente o que eu gostaria de fazer, vou postar meu código aqui e pedir a ajuda de vocês para concluir esse desenvolvimento.
veja:
Utilizando o componente TWebBrowser, atribuo os campos para a página até chegar a página de download, pois bem, o download pela pagina pede confirmação como é possível ver no próprio código fonte da página: " " e acreedito que isso esteja causando um erro que não me deixar baixar o arquivo, até porque em seguida o SO, envia a escolha do certificado para completar o download.
Em resumo, preciso saber como fazer o download mesmo com essa confirmação e digamos que passar o certificado como parâmetro para o download.
Abaixo o código que realizei.
Abre a página:
WebBrowser1.Navigate('http://www.nfe.fazenda.gov.br/portal/consulta.aspx?tipoConsulta=completa&tipoConteudo=XbSeqxE8pl8=');
Atribui a chave da Nfe a página:
WebBrowser1.OleObject.Document.all.Item('ctl00$ContentPlaceHolder1$txtChaveAcessoCompleta', 0).value := edtChaveNFe.Text;
Atribui a Captcha a página:
WebBrowser1.OleObject.Document.all.Item('ctl00$ContentPlaceHolder1$txtCaptcha', 0).value := edtCaptcha.Text;
Realiza a consulta da página, nesse momento a nova página aberta me da acesso ao download:
WebBrowser1.OleObject.Document.all.Item('ctl00$ContentPlaceHolder1$btnConsultar', 0).click;
Aguardo o carregamento da página
repeat
Application.ProcessMessages;
until (WebBrowser1.ReadyState >= READYSTATE_COMPLETE);
Nesse momento clico no botão de download, aqui da um erro de access violation, realizando pelo site, tem uma mensagem de confirmação e mais a escolha do certificado.
WebBrowser1.OleObject.Document.all.Item('ctl00$ContentPlaceHolder1$btnDownload', 0).click;
Grato pela ajuda.
Lázaro Mariano