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

Obter Informações de Pedágio - Transportadora

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.
clessio
Acabou de chegar
Acabou de chegar
Mensagens: 1
Registrado em: Ter Abr 04, 2017 4:41 pm

Obter Informações de Pedágio - Transportadora

Mensagem por clessio »

Boa tarde, sou novo no fórum e pesquisei algumas coisas sobre pedágio e não consegui muita coisa, abaixo tenho um código em VBA para Excel, que coleta informações de uma planilha, submete a uma pagina da WEB e e obtêm as informações de retorno:

Sub PesqCustoPedágios()
Dim IE As InternetExplorer, CidadeOrig As String, sng As Date
Dim LR As Long, Contador As Long, CidadeDest As String

'Identifica a última célula ativa da lista
LR = Cells(Rows.Count, 1).End(xlUp).Row
'Cria um objeto Internet Explorer
Set IE = New InternetExplorer
'Torna o objeto visível
IE.Visible = False 'True
'Faz um loop por na planilha
For Contador = 2 To LR

'Navega ao site do Mapeia
IE.Navigate "http://qualp.com.br/"
'Identifica se a página já foi carregada
While IE.ReadyState <> READYSTATE_COMPLETE
Wend
sng = Timer
Do While sng + 3 > Timer
Loop

'Carrega os dados que serão preenchidos na página
origem = Range("A" & Contador).Value
destino = Range("B" & Contador).Value
eixos = Range("C" & Contador).Value
categoria = Range("D" & Contador).Value

'Envia os dados da planilha e submente os dados do formulário
IE.Document.all("origem").Value = origem
IE.Document.all("destino").Value = destino
IE.Document.all("eixos").Value = eixos
IE.Document.all("auto-cat") = categoria
IE.Document.all.Item("roteirizar").Click

'Identifica se a página já foi totalmente carregada
While IE.ReadyState <> READYSTATE_COMPLETE
Wend
sng = Timer
Do While sng + 3 > Timer
Loop

'Coloca nas colunas os valores totais calculados
Cells(Contador, 5) = IE.Document.getElementById("roteirizador-info-distancia").innerText
Cells(Contador, 6) = IE.Document.getElementById("roteirizador-info-duracao").innerText
Cells(Contador, 7) = IE.Document.getElementById("custos-totais-value").innerText

Next Contador
IE.Quit

End Sub

No entanto para conseguir a categoria do veiculo o mesmo é feito no objeto row.auto-cat da pagina, e não consegui entender como poderia dar essa informação para o site...
Anexo mandei a planilha para quem pudesse me ajudar.
Grande abraço.
Clessio
Anexos
Calculo de pedagios.7z
(17.29 KiB) Baixado 447 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
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1173
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valadares - MG
Contato:

Re: Obter Informações de Pedágio - Transportadora

Mensagem por Mikel Silveira Fraga »

Clessio, boa noite.

Cara, estive vendo o site que esta acessando, em específico, no elemento <div> como Atributo Class 'row.auto-cat'.

Se observarmos, dentro dessa Tag <div>, existe 5 elementos <i>, onde cada um deles tem o Atributo Value, referente a cada categoria. Veja a tela abaixo:
Elemento Div row.auto-cat
Elemento Div row.auto-cat
DeveloperToolsChrome.jpg (65.73 KiB) Exibido 4949 vezes
Pra acessar esses elementos, você adaptar o código abaixo e ver se vai funcionar.

Código: Selecionar todos

Dim oElement As Object
Dim oElementCol As Object
Set oElementCol = IE.Document.getElementsByTagName("i")
For Each oElement in oElementCol
  If oElement.Value = "" Then ' --> Valores possíveis: car | truck | bus | motocycle.
    oElement.Click
  End If
Next oElement
Demais dúvidas, estamos a disposição.

Boa noite e forte abraços.


Renatahulda
Acabou de chegar
Acabou de chegar
Mensagens: 1
Registrado em: Qui Out 25, 2018 6:27 pm

Re: Obter Informações de Pedágio - Transportadora

Mensagem por Renatahulda »

Poderiam postar a planilha pronta ou me enviar por email? Renatahulda@gmail.com


lccardozo
Acabou de chegar
Acabou de chegar
Mensagens: 1
Registrado em: Sex Jan 18, 2019 10:04 am

Re: Obter Informações de Pedágio - Transportadora

Mensagem por lccardozo »

Ao executar o código ocorre um erro em:
IE.Document.all.Item("roteirizar").Click

"A variável do objeto ou a variável do bloco With não foi definida.

Podem me ajudar?


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