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

Interação VBA com IE, para o site da Hotmilhas

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
euderfilho
Acabou de chegar
Acabou de chegar
Mensagens: 3
Registrado em: Sex Dez 07, 2018 8:09 am

Interação VBA com IE, para o site da Hotmilhas

Mensagem por euderfilho »

Amig@s, boa noite!
Estou automatizando um sistema de cotação de milhas em um site. Consegui fazer para o site da bankmilhas.com.br (código abaixo).

Gostaria de adaptar este aquivo para o site da hotmilhas.com.br, porém não estou conseguindo acessar as variáveis do site.. Vou explicar como o código funciona:

Ele acessa o site www.bankmilhas.com.br > preenche os campos do site (input_7_2, input_7_12, input_7_3, input_7_5, input_7_9, input_7_10 - estes são os ID do formulário que estou preenchendo) buscando as informações dentro da planilha que chama "Controle" > Ele submete minha cotação para o site e eu recebo ela no e-mail. É o que o código faz.

Os IDs: input_7_5, input_7_9, input_7_10, são drop down list, onde eu seleciono a quantidade de milhas que eu quero cotar de cada cia aérea. Eu escrevo dentro da planilha "Controle" quantas milhas quero cotar de cada uma e ele faz uma busca no drop down list do site, referenciado pelos IDs acima, e quando ele encontra, me retorna a posição que a quantidade que eu quero está, o index, daí seleciona.

Bom, enfim, minha dúvida é, no site da bank milhas, quando vou ver o código html deles, cada ID tem uma lista de os valores das milhas, que uso para comparar (ver anexo) e retornar o index. Porém, no site da Hotmilhas, eles não possuem essa lista com os valores para comparar. Eles tem um class="style-option" e não diversos valores como é no bank milhas (ver anexo).

Como que eu posso adaptar meu código (código abaixo) para funcionar no site da Hotmilhas?

Muito obrigado!


Abaixo meu código e a foto da planilha em anexo.

Sub automaticformfilling()

Dim ie As Object

Dim az As Single, sm As Single, lat As Single 'variáveis para receber o valor das células da planilha controla

Worksheets("Controle").Activate 'Ativar planilha de controle

az = Range("C5") 'Recebe os valores inseridos pelo usuário na planilha controle
sm = Range("B5")
lat = Range("A5")

Set ie = CreateObject("internetexplorer.application") 'Abre o IE e vai acessa o site da BankMilhas
With ie
.Visible = True
.Navigate "http://www.bankmilhas.com.br"
Do While .Busy
DoEvents
Loop
Do While .ReadyState <> 4
DoEvents
Loop
End With



'preenche os formulaários direto no site
Set fname = ie.Document.getelementbyid("input_7_12") 'Preenche o NOME
fname.Value = Range("B3")


Set femail = ie.Document.getelementbyid("input_7_2") 'Preenche o Email
femail.Value = Range("A3")


Set ftel = ie.Document.getelementbyid("input_7_3") 'Preenche o Telefone
ftel.Value = Range("C3")


'Compara o valor inserido pelo usuário na planilha "Controle" com os da lista do drop down do site. Quando encontrar, retorna o index. Fiz o mesmo comando para cada cia aérea.

Set input_7_5 = ie.Document.getelementbyid("input_7_5") 'Milhas TAM

For i = 1 To input_7_5.Options.Length
If input_7_5.Options(i).Value = lat Then
input_7_5.selectedindex = i
Exit For
End If
Next i

Set input_7_9 = ie.Document.getelementbyid("input_7_9") 'Milhas Smile
i = 1
For i = 1 To input_7_9.Options.Length
If input_7_9.Options(i).Value = sm Then
input_7_9.selectedindex = i
Exit For
End If
Next i

Set input_7_10 = ie.Document.getelementbyid("input_7_10") 'Milhas Azul
i = 1
For i = 1 To input_7_10.Options.Length
If input_7_10.Options(i).Value = az Then
input_7_10.selectedindex = i
Exit For
End If
Next i

ie.Document.getelementbyid("gform_submit_button_7").Click 'Clica no botão de enviar a cotação para o e-mail

End Sub
Anexos
Print Screen da Planilha Controle
Print Screen da Planilha Controle
Foto Planilha Controle.png (146.58 KiB) Exibido 2538 vezes
Onde mostra o código do site Hotmilhas
Onde mostra o código do site Hotmilhas
Hotmilhas.png (291.17 KiB) Exibido 2538 vezes
Onde mostra o código do site BankMilhas
Onde mostra o código do site BankMilhas
BankMilhas.png (448.28 KiB) Exibido 2538 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.


Responder