Vídeo recomendado
https://youtu.be/diWPPPhW-9E

VBA Consulta Site

A Web está aí, não há como negar. Ela é onipresente em praticamente toda operação eletrônica realizada nos dias de hoje. Como não podia ser diferente, o Excel, ferramenta máxima para analistas e profissionais das mais diversas áreas do mercado precisa estar alinhado com esta necesssidade. E ele está! Neste forum, o debate é focado em expor dúvidas, sugestões, modelos de código e exemplos de uso do Excel na Integração com tecnologias Web.
Paulo Pavan
Colaborador
Colaborador
Mensagens: 12
Registrado em: Qui Set 06, 2018 7:40 pm

VBA Consulta Site

Mensagem por Paulo Pavan »

Olá,

Estou montando uma aplicação para fazer consulta em um site, consigo preencher os campos do site mas qdo clico no botão apresenta msg dizendo que os campos não foram preenchidos.

Este é o site https://canalconsorciado.bradesco.com.br/valor-receber
Doc.getElementById("grupo").Value = Grupo
Doc.getElementById("cota").Value = Cota
Doc.getElementById("inscricaoNacional").Value = CpfCnpj
Doc.getElementById("numeroContrato").Value = nrContrato
Doc.getElementsByTagName("BUTTON").Item(1).Click

Poderiam me ajudar.
Abs,


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Paulo Pavan
Colaborador
Colaborador
Mensagens: 12
Registrado em: Qui Set 06, 2018 7:40 pm

Re: VBA Consulta Site

Mensagem por Paulo Pavan »

Desculpa, não coloquei o código completo. Segue abaixo.

Dim QtdDias As Integer
Public FimDaInstrucao As Boolean
Declare PtrSafe Function apShowIE Lib "user32" Alias "ShowWindow" _
(ByVal hwnd As LongLong, ByVal nCmdShow As Long) As LongLong

'Declare Function apShowIE Lib "user32" Alias "ShowWindow" _
' (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Global Const SW_MAX = 3
Global Const SW_SHOWNORMAL = 1
Global Const SW_MINI = 2

Sub ConsultarGrupoCota()

Dim Grupo As String
Dim Cota As String
Dim CpfCnpj As String
Dim nrContrato As String
Dim Cons As Date
Dim GNE As String

GNE = "GNE"

Dim Lln As Integer
Dim Cln As Integer

Lln = 2
Cln = 6

Do While ws_Consulta.Cells(Lln, Cln) <> ""
Lln = Lln + 1

Loop

Grupo = ws_Consulta.Cells(Lln, 10).Value
Cota = ws_Consulta.Cells(Lln, 11).Value
CpfCnpj = ws_Consulta.Cells(Lln, 2).Value
nrContrato = ws_Consulta.Cells(Lln, 5).Value


Dim Doc As HTMLDocument
Dim IE As New InternetExplorer
Dim sURL As String

sURL = "https://canalconsorciado.bradesco.com.br/valor-receber"

With IE
.Visible = True
apShowIE IE.hwnd, SW_MAX
.navigate sURL
End With

'aguarda IE abrir
Do While IE.readyState <> READYSTATE_COMPLETE
'Do While Not WaitingLoad(2): VBA.DoEvents: Loop
'cCount = cCount + 1
'If cCount > 6 And cCount < 7 Then
'IE.Refresh
'ElseIf cCount > 10 Then

'MsgBox "O tempo limite de execução da função foi excedido! Favor tentar novamente mais tarde.", _
'vbOKOnly + vbCritical, "TEMPO LIMITE DE EXECUÇÃO EXCEDIDO"

' IE.Quit
' ' Exit Sub
End If
Loop

Set Doc = IE.document



'Application.SendKeys "{TAB}", True ' Send ALT+F4 to close Calculator.

Doc.getElementById("grupo").Value = "00671"
Doc.getElementById("cota").Value = "0240"
Doc.getElementById("inscricaoNacional").Value = "000.000.000-00"
Doc.getElementById("numeroContrato").Value = "1234567"
Doc.getElementsByTagName("BUTTON").Item(1).Click

IE.Quit


End Sub


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: VBA Consulta Site

Mensagem por webmaster »

Colega, não consegui fazer o codigo funcionar uma só vez. Pode compartillhar a planilha?


Paulo Pavan
Colaborador
Colaborador
Mensagens: 12
Registrado em: Qui Set 06, 2018 7:40 pm

Re: VBA Consulta Site

Mensagem por Paulo Pavan »

Posso sim! Segue
Automatização Consulta .zip
(25.21 KiB) Baixado 197 vezes


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: VBA Consulta Site

Mensagem por webmaster »

Colega,

O código está funcionando. Se colocar um ponto de interrupção na linha abaixo:

Código: Selecionar todos

Doc.getElementsByTagName("BUTTON").Item(1).Click
Você verá os dados preenchidos. O site os apaga quando inválidos após clicar no botão Acessar.

Att


Raygsson
Manda bem
Manda bem
Mensagens: 118
Registrado em: Sex Jan 31, 2020 8:06 pm

Re: VBA Consulta Site

Mensagem por Raygsson »

Tem alguma validação por JavaScript que esta removendo os valores inseridos pela biblioteca que ta usando (Internet Controls).
Se usar a biblioteca Selenium Basic dá certo, a inserção é feita de outra forma.

Att,
Raygsson

Código: Selecionar todos

Sub TesteSelenium()

Dim driver As New IEDriver

Grupo = ws_Consulta.Cells(2, 10).Value
Cota = ws_Consulta.Cells(2, 11).Value
CpfCnpj = ws_Consulta.Cells(2, 2).Value
nrContrato = ws_Consulta.Cells(2, 5).Value

driver.Get "https://canalconsorciado.bradesco.com.br/valor-receber"

driver.FindElementById("grupo").SendKeys Grupo
driver.FindElementById("cota").SendKeys Cota
driver.FindElementById("inscricaoNacional").SendKeys CpfCnpj
driver.FindElementById("numeroContrato").SendKeys nrContrato

driver.FindElementsByTag("button").Item(2).Click

driver.Wait (3000)

driver.Quit

End Sub
img.PNG
img.PNG (22.86 KiB) Exibido 4104 vezes


Paulo Pavan
Colaborador
Colaborador
Mensagens: 12
Registrado em: Qui Set 06, 2018 7:40 pm

Re: VBA Consulta Site

Mensagem por Paulo Pavan »

Está dando erro na linha Driver.Get "https://canalconsorciado.bradesco.com.br/valor-receber"
"Erro em tempo de execução "
Erro de automação


Raygsson
Manda bem
Manda bem
Mensagens: 118
Registrado em: Sex Jan 31, 2020 8:06 pm

Re: VBA Consulta Site

Mensagem por Raygsson »

Vc precisa fazer a instalação dessa no biblioteca, acessa o link que deixei na msg acima, baixa o programa e instala. Depois vai em Ferramentas > Referências e marca a opção do Selenium.
Se tiver com mais duvidas basta jogar no YouTube "Selenium VBA", tem alguns vídeos de instalação.


Paulo Pavan
Colaborador
Colaborador
Mensagens: 12
Registrado em: Qui Set 06, 2018 7:40 pm

Re: VBA Consulta Site

Mensagem por Paulo Pavan »

Eu fiz isso e deu o erro que mandei.


Raygsson
Manda bem
Manda bem
Mensagens: 118
Registrado em: Sex Jan 31, 2020 8:06 pm

Re: VBA Consulta Site

Mensagem por Raygsson »

Pra ter dado o erro na linha do .Get pode ser algo na hora de conectar o IEDriver com o Internet Explorer, já que passou pela linha de declaração do Objeto e pra isso tem que ter o Selenium Instalado e a biblioteca selecionada nas referências.
Pode estar faltando o Net Framework 3.5 no seu PC, o Selenium precisa dele. Pode baixar lá no site da Microsoft.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder