Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Abrir último .xlsx feito download
-
- Acabou de chegar
- Mensagens: 3
- Registrado em: Qui Nov 26, 2020 3:41 pm
Abrir último .xlsx feito download
Fiz uma programação através de VBA + Selenium que acessa um site através do google chrome, digita minhas informações de login e após isso preenche alguns campos e faz download de um relatório no formato Excel (.xlsx).
O nome do arquivo é sempre relatorio e conforme vão baixando mais relatórios o próprio google chrome vai nomeando relatorio (1), relatorio (2)...
Estou procurando há algum tempo algum código VBA que consiga acessar o último arquivo feito download em uma pasta ou algum código do Selenium que consiga acessar o último arquivo que foi feito o download ou pelo menos o nome do último arquivo. Alguém tem uma ideia de como posso fazer isso?
O nome do arquivo é sempre relatorio e conforme vão baixando mais relatórios o próprio google chrome vai nomeando relatorio (1), relatorio (2)...
Estou procurando há algum tempo algum código VBA que consiga acessar o último arquivo feito download em uma pasta ou algum código do Selenium que consiga acessar o último arquivo que foi feito o download ou pelo menos o nome do último arquivo. Alguém tem uma ideia de como posso fazer isso?
Re: Abrir último .xlsx feito download
Veja se ajuda: https://www.tomasvasquez.com.br/blog/mi ... chrome-70/
Pelo que entendi do código é feito um Scraping na aba de download do Chrome, buscando o primeiro item acima.
Se o código não funcionar, foi testado na versão 70 do Chrome, pode usar a mesma linha de raciocínio para ajustar a versão atual do navegador.
Pelo que entendi do código é feito um Scraping na aba de download do Chrome, buscando o primeiro item acima.
Se o código não funcionar, foi testado na versão 70 do Chrome, pode usar a mesma linha de raciocínio para ajustar a versão atual do navegador.
-
- Acabou de chegar
- Mensagens: 3
- Registrado em: Qui Nov 26, 2020 3:41 pm
Re: Abrir último .xlsx feito download
Eu tentei utilizar o exemplo feito nesse tópico https://www.tomasvasquez.com.br/blog/mi ... chrome-70/ no meu código, no entanto não encontra o nome do último download.
A variável UltimoDownloadFeito fica vazia.
A variável UltimoDownloadFeito fica vazia.
Re: Abrir último .xlsx feito download
Altere o ID na linha que captura nome, deixe assim:
Código: Selecionar todos
Sub CapturarDownload()
Dim driver As ChromeDriver
Set driver = New ChromeDriver
driver.Get "http://www.tomasvasquez.com.br/downloads/ModeloCadastrov3ListView.zip"
driver.Get "chrome://downloads/"
Application.Wait (Now + TimeValue("00:00:02"))
Set downloadsManager = driver.FindElementByTag("downloads-manager")
Set shadowRoot = driver.ExecuteScript("return arguments[0].shadowRoot", downloadsManager)
Set downloadsItem = driver.ExecuteScript("return arguments[0].querySelectorAll('downloads-item')[0];", shadowRoot)
Set shadowRoot = driver.ExecuteScript("return arguments[0].shadowRoot", downloadsItem)
Set Nome = shadowRoot.FindElementById("file-link")
Debug.Print Nome.Text
End Sub
-
- Acabou de chegar
- Mensagens: 3
- Registrado em: Qui Nov 26, 2020 3:41 pm
Re: Abrir último .xlsx feito download
Deu certo, obrigado!Raygsson escreveu: ↑Seg Fev 08, 2021 2:37 pm Altere o ID na linha que captura nome, deixe assim:Código: Selecionar todos
Sub CapturarDownload() Dim driver As ChromeDriver Set driver = New ChromeDriver driver.Get "http://www.tomasvasquez.com.br/downloads/ModeloCadastrov3ListView.zip" driver.Get "chrome://downloads/" Application.Wait (Now + TimeValue("00:00:02")) Set downloadsManager = driver.FindElementByTag("downloads-manager") Set shadowRoot = driver.ExecuteScript("return arguments[0].shadowRoot", downloadsManager) Set downloadsItem = driver.ExecuteScript("return arguments[0].querySelectorAll('downloads-item')[0];", shadowRoot) Set shadowRoot = driver.ExecuteScript("return arguments[0].shadowRoot", downloadsItem) Set Nome = shadowRoot.FindElementById("file-link") Debug.Print Nome.Text End Sub