criei um código para extrair informações de um site, acessa, faz login e senha e chega na página correta, ao extrair os dados percorre por todas as páginas mas não extrai os dados da última, total 5 páginas extrai dados as 4 primeiras corretamente.
se alguém puder me ajudar, agradeço
segue código:
Sub ImportarDadosParaPlanilha()
Dim urlLogin As String
urlLogin = "https://yyyy.com.br/auth/login"
Dim usuario As String
Dim senha As String
usuario = "XXXX"
senha = "XXXX2023"
Dim urlDados As String
urlDados = "https://yyyy.com.br/pedidos-vendas"
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.navigate urlLogin
Do While IE.Busy Or IE.readyState <> 4
Application.Wait Now + TimeValue("0:00:01")
Loop
Pergunta
alessandro marcelo
criei um código para extrair informações de um site, acessa, faz login e senha e chega na página correta, ao extrair os dados percorre por todas as páginas mas não extrai os dados da última, total 5 páginas extrai dados as 4 primeiras corretamente.
se alguém puder me ajudar, agradeço
segue código:
Sub ImportarDadosParaPlanilha()
Dim urlLogin As String
urlLogin = "https://yyyy.com.br/auth/login"
Dim usuario As String
Dim senha As String
usuario = "XXXX"
senha = "XXXX2023"
Dim urlDados As String
urlDados = "https://yyyy.com.br/pedidos-vendas"
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.navigate urlLogin
Do While IE.Busy Or IE.readyState <> 4
Application.Wait Now + TimeValue("0:00:01")
Loop
IE.document.getElementById("loginform-username").Value = usuario
IE.document.getElementById("loginform-password").Value = senha
IE.document.forms(0).submit
Do While IE.Busy Or IE.readyState <> 4
Application.Wait Now + TimeValue("0:00:01")
Loop
Dim botao As Object
Set botao = IE.document.getElementsByClassName("icon-call-end")(0)
If Not botao Is Nothing Then
botao.Click
Else
MsgBox "Botão não encontrado!"
IE.Quit
Exit Sub
End If
Do While IE.Busy Or IE.readyState <> 4
Application.Wait Now + TimeValue("0:00:01")
Loop
Dim numeroDePaginas As Integer
numeroDePaginas = 5
For pagina = 1 To numeroDePaginas
For Each coluna In Array(1, 3, 4, 5, 😎
Dim seletor As String
seletor = "td.w1[data-col-seq='" & coluna & "']"
Dim elementos As Object
Set elementos = IE.document.querySelectorAll(seletor)
If elementos.Length > 0 Then
For i = 0 To elementos.Length - 1
Sheets("Import").Cells((pagina - 1) * elementos.Length + i + 1, coluna).Value = elementos.Item(i).innerText
Next i
End If
Next coluna
Dim urlProximaPagina As String
urlProximaPagina = "https://yyyy.com.br/pedidos-vendas/index?page=" & pagina + 1
IE.navigate urlProximaPagina
Do While IE.Busy Or IE.readyState <> 4
Application.Wait Now + TimeValue("0:00:01")
Loop
Next pagina
IE.Quit
End Sub
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.