- 26 Ago 2020 às 20:19
#58254
Olá,
Preciso de ajuda pra terminar um código de Web Scraping.
Um arq básico no Excel, sendo a 1ª linha de cabeçalho com 4 colunas:
Número Antigo - Novo - Vara - Data Autuação
A partir da linha 2 e 1ª coluna, há uma série de números a serem pesquisados numa pg específica a saber.
A ideia do código é lançar o Número Antigo na pg e trazer de lá o Novo + os outros 3 dados;
Segue uma pequena sequência de números a serem minerados:
200334000111326
200334000111179
200334000107120
200334000107117
200334000105010
Ao chamar a pg em questão, o cód deve:
-1- Clicar no botão "Número de Processo", logo abaixo de "Opções de pesquisa";
-2- Pegar o 1º num da planilha e jogá-lo no COMBO "Número do Processo", abaixo de CONSULTA PROCESSUAL;
-3- Clicar no botão "Pesquisar";
-4- Assim q a pg carregar, trazer de lá o valor dos campos "Nova Numeração" + "Vara" + "Data de Autuação";
-5- Salvar estes dados nas colunas a frente do Número Antigo no Excel e passar a próxima linha;
-6- E voltar ao item 1 desta lista e repetir o processo até o fim das linhas no Excel
Segue o cód que construí até o momento, mas ainda apresenta erros:
Não consigo capturar o 1º botão pra chegar no campo COMBO pra receber o 1º dado do Excel.
Sub TRF1_Click()
Dim IE As InternetExplorer
Set IE = New InternetExplorer
IE.Visible = True
Dim col As Integer
Dim ln As Integer
Dim antigo As String
Dim novoproc As Variant
Dim vara As Variant
Dim datautua As Variant
Dim botao As Variant
IE.Navigate "https://processual.trf1.jus.br/consulta ... p?secao=DF"
While IE.Busy Or IE.ReadyState <> READYSTATE_COMPLETE
DoEvents
Wend
ln = 2
col = 1
While ln <= UltCel.Row
antigo = Cells(ln, col).Value
IE.Document.all("proc").innerText = antigo
While IE.Busy Or IE.ReadyState <> READYSTATE_COMPLETE
DoEvents
Wend
Set botao = IE.Document.getElementById("enviar")
While IE.Busy Or IE.ReadyState <> READYSTATE_COMPLETE
DoEvents
Wend
botao.Click
While IE.Busy Or IE.ReadyState <> READYSTATE_COMPLETE
DoEvents
Wend
novoproc = IE.Document.all.tags("tr")(2)
vara = IE.Document.getElementsBytagName("aba-processo").Item(4)
datautua = IE.Document.getElementsBytagName("aba-processo").Item(5)
Cells(ln, col + 1) = novoproc.innertext
Cells(ln, col + 2) = vara.innertext
Cells(ln, col + 3) = datautua.innertext
ln = ln + 1
IE.Quit
DoEvents
Wend
End Sub
Preciso de ajuda pra terminar um código de Web Scraping.
Um arq básico no Excel, sendo a 1ª linha de cabeçalho com 4 colunas:
Número Antigo - Novo - Vara - Data Autuação
A partir da linha 2 e 1ª coluna, há uma série de números a serem pesquisados numa pg específica a saber.
A ideia do código é lançar o Número Antigo na pg e trazer de lá o Novo + os outros 3 dados;
Segue uma pequena sequência de números a serem minerados:
200334000111326
200334000111179
200334000107120
200334000107117
200334000105010
Ao chamar a pg em questão, o cód deve:
-1- Clicar no botão "Número de Processo", logo abaixo de "Opções de pesquisa";
-2- Pegar o 1º num da planilha e jogá-lo no COMBO "Número do Processo", abaixo de CONSULTA PROCESSUAL;
-3- Clicar no botão "Pesquisar";
-4- Assim q a pg carregar, trazer de lá o valor dos campos "Nova Numeração" + "Vara" + "Data de Autuação";
-5- Salvar estes dados nas colunas a frente do Número Antigo no Excel e passar a próxima linha;
-6- E voltar ao item 1 desta lista e repetir o processo até o fim das linhas no Excel
Segue o cód que construí até o momento, mas ainda apresenta erros:
Não consigo capturar o 1º botão pra chegar no campo COMBO pra receber o 1º dado do Excel.
Sub TRF1_Click()
Dim IE As InternetExplorer
Set IE = New InternetExplorer
IE.Visible = True
Dim col As Integer
Dim ln As Integer
Dim antigo As String
Dim novoproc As Variant
Dim vara As Variant
Dim datautua As Variant
Dim botao As Variant
IE.Navigate "https://processual.trf1.jus.br/consulta ... p?secao=DF"
While IE.Busy Or IE.ReadyState <> READYSTATE_COMPLETE
DoEvents
Wend
ln = 2
col = 1
While ln <= UltCel.Row
antigo = Cells(ln, col).Value
IE.Document.all("proc").innerText = antigo
While IE.Busy Or IE.ReadyState <> READYSTATE_COMPLETE
DoEvents
Wend
Set botao = IE.Document.getElementById("enviar")
While IE.Busy Or IE.ReadyState <> READYSTATE_COMPLETE
DoEvents
Wend
botao.Click
While IE.Busy Or IE.ReadyState <> READYSTATE_COMPLETE
DoEvents
Wend
novoproc = IE.Document.all.tags("tr")(2)
vara = IE.Document.getElementsBytagName("aba-processo").Item(4)
datautua = IE.Document.getElementsBytagName("aba-processo").Item(5)
Cells(ln, col + 1) = novoproc.innertext
Cells(ln, col + 2) = vara.innertext
Cells(ln, col + 3) = datautua.innertext
ln = ln + 1
IE.Quit
DoEvents
Wend
End Sub