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

Download com Selenium

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.
fetonin
Acabou de chegar
Acabou de chegar
Mensagens: 7
Registrado em: Sáb Jun 08, 2019 11:29 pm

Download com Selenium

Mensagem por fetonin »

Boa noite, estou tentando fazer download de uma planilha no Excel pelo Selenium. Tenho algumas dúvidas
1) Quando coloco para fazer o download, ela salva sem pedir nada. Em outros computadores ela vai seguir o mesmo padrão de não solicitar a pasta destino quando salvo pelo comando ?

2) Quando utilizo o comando: driver.AddArgument ("--headless")
o Download não começa, alguém teria alguma alternativa ?

3) Teria como alterar o nome do arquivo pelo Selenium ?

Para melhor compreensão preciso entrar em um site que tem login e senha, após, baixar uma planilha e importa-la automaticamente para o excel para trabalhar com ela. Porém preciso que o Chrome não abra enquanto o Selenium trabalha e gostaria de poder por linha de comando alterar o nome do arquivo que está sendo feito o download, puxar os dados dele e após deleta-lo.

Obrigado !


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
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Download com Selenium

Mensagem por webmaster »

1) Se isso for pré configurado via código, então sim. Do contrário, vai precisar configurar em cada máquina

2) o --headless não deveria alterar o comportamento do navegador além de deixá-lo oculto

3) Não pelo Selenium, mas depois que o arquivo for baixado, você pode fazer o que quiser com ele com VBA puro

De toda forma, dê uma olhada nestes artigos: https://www.tomasvasquez.com.br/blog/tag/selenium/


fetonin
Acabou de chegar
Acabou de chegar
Mensagens: 7
Registrado em: Sáb Jun 08, 2019 11:29 pm

Re: Download com Selenium

Mensagem por fetonin »

Boa tarde, obrigado pelas respostas, funcionaram perfeitamente.

Porém, unica coisa que não está acontecendo é o download com o chrome oculto, o que poderia ser isso ?

Testei em outro computador e também não faz o download. Pesquisei em outros fóruns parece que isso ocorre como um sistema de segurança, pelo que vi tem alguns modos de contornar isso mas usando python, que eu não conheço nada...

https://stackoverflow.com/questions/456 ... d-selenium

Alguma idéia ?
Obrigado !


wagner.aft
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Sáb Jul 13, 2019 12:04 am

Re: Download com Selenium

Mensagem por wagner.aft »

Boa noite,

Peguei o código abaixo no site (https://www.tomasvasquez.com.br/blog/tag/selenium/) poré não está funcionando. Baixei o selenium, marquei a referência no VisualBasic e atualizei o código para teste incluindo um dos links que preciso acessar para fazer o download direto de uma planilha.
Ocorre que até chega abrir uma janela do Chrome, porém logo em seguida apresenta a msg de erro anexa. O que pode estar errado?

Private Sub AbreEConfiguraOChrome()
Dim driver As New Selenium.ChromeDriver
driver.SetPreference "download.default_directory", Replace(ThisWorkbook.FullName, ThisWorkbook.name, "")
driver.SetPreference "download.directory_upgrade", True
driver.SetPreference "download.prompt_for_download", False
driver.Get "https://www.infomoney.com.br/Pages/Down ... tockType=1"
'aqui começa seu código
End Sub
Anexos
erro selenium.jpg
erro selenium.jpg (94.64 KiB) Exibido 18835 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.


wagner.aft
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Sáb Jul 13, 2019 12:04 am

Re: Download com Selenium

Mensagem por wagner.aft »

Pessoal, garimpando mais um pouco resolvi o problema de não executar a macro, que era pela desatualização do chromedriver. Segui os passos do Tomaz no video https://www.youtube.com/watch?time_cont ... fFnr-hmTW8 e parou de aparecer a msg de erro.

Contudo, agora o chrome é aberto e logo em seguida fechado sem nada acontecer. Não consigo saber se o link é aberto, mas acredito que não, pois é um link direto para download e não é baixado nenhum arquivo.

Alguem pode me dar uma ajuda?! Obrigado!


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Download com Selenium

Mensagem por webmaster »

Pode postar o código todo aqui?


wagner.aft
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Sáb Jul 13, 2019 12:04 am

Re: Download com Selenium

Mensagem por wagner.aft »

Bom dia,

O código é o abaixo:

Private Sub AbreEConfiguraOChrome2()
Dim driver As New Selenium.ChromeDriver
driver.SetPreference "download.default_directory", Replace(ThisWorkbook.FullName, ThisWorkbook.name, "")
driver.SetPreference "download.directory_upgrade", True
driver.SetPreference "download.prompt_for_download", False
driver.Get "https://www.infomoney.com.br/Pages/Down ... tockType=1"
'aqui começa seu código
End Sub

Eu manjo muito pouco / quase nada de VBA mas faço muitas macros pegando pedaços nos foruns para as coisas que preciso e vou construindo meus frankenstains, mas acabam funcionando.
Essa é a primeira parte de uma macro que estou criando, que é acessar esse site e baixar o histórico de cotações dessa ação, porém tem outras 100 ações para pegar o histórico, e que estão numa planilha em linhas sequenciadas. Por exemplo, essa URL está localizada na célula B2 e as demais nas células B3, B4 e etc. Aí preciso que feito o download de B2, faça os demais downloads. Depois irei importar o conteúdo dessas planilhas baixadas e atualizar o histórico de cotações que estará em minha planilha. Enfim, deu pra entender? Mas quero solucionar essa parte inicial do download para começa a pensar nas etapas seguintes.

Quando usei o ie.application deu certo, mas não conseguir superar a obrigação do internet explorer em ter que responder se quero abrir, salvar ou salvar como o arquivo do download. Aí vi um tópico aqui sobre o selenium e gostei.

Ah...para colocar os arquivos do download em uma pasta específica, como faço?
Anexos
Modelo planilha.jpg
Modelo planilha.jpg (282 KiB) Exibido 18817 vezes


wagner.aft
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Sáb Jul 13, 2019 12:04 am

Re: Download com Selenium

Mensagem por wagner.aft »

Se for mais fácil acessar a página https://www.infomoney.com.br/ambevsa-abev3/cotacoes e copiar os dados das cotações e colar no excel pode ser também. Optei pelo download do arquivo excel pois me pareceu mais fácil desse modo.
Anexos
hist cotações.jpg
hist cotações.jpg (118.92 KiB) Exibido 18816 vezes


wagner.aft
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Sáb Jul 13, 2019 12:04 am

Re: Download com Selenium

Mensagem por wagner.aft »

Boa tarde,

Alguem pode ajudar nesta empreitada? Obrigado


wagner.aft
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Sáb Jul 13, 2019 12:04 am

Re: Download com Selenium

Mensagem por wagner.aft »

Bom dia,

Executando a macro com o comando abaixo o Chrome é aberto e logo em seguida fechado sem nada acontecer. Não consigo saber se o link é aberto, mas acredito que não, pois é um link direto para download e não é baixado nenhum arquivo.

Private Sub AbreEConfiguraOChrome2()
Dim driver As New Selenium.ChromeDriver
driver.SetPreference "download.default_directory", Replace(ThisWorkbook.FullName, ThisWorkbook.name, "")
driver.SetPreference "download.directory_upgrade", True
driver.SetPreference "download.prompt_for_download", False
driver.Get "https://www.infomoney.com.br/Pages/Down ... tockType=1"
'aqui começa seu código
End Sub

Quando usei o ie.application deu certo, mas não conseguir superar a obrigação do internet explorer em ter que responder se quero abrir, salvar ou salvar como o arquivo do download, e não gostaria de manter com isso. Aí vi um tópico aqui sobre o selenium e gostei. Então se alguem puder me ajudar a superar esse problema...

Valeu!!!


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