Página 1 de 1

VBA+Selenium: Salvar Documento ou imagem

Enviado: Seg Jun 27, 2016 2:18 pm
por rlellis
Olá pessoal,

Tenho um processo de automação rodando no Chrome. Quando eu clico no link de um documento (PDF, DOC, XLS, ZIP,...) / imagem (JPG, TIF, PNG, BMP, ...), o documento / imagem (quando possível) é aberto em uma nova guia. Após abrir o arquivo, preciso salvar este documento .

Tentei usar a SendKeys com a sequencia <Control>+"S" conforme exemplo abaixo, mas não obtive sucesso, alguém sabe me dizer onde estou errando?

Não posso pegar o link do arquivo direto, porque ele é dinâmico e depende de um processamento do servidor.

O código abaixo é a parte referente a salvar um arquivo PDF:
...

Public swd As New SeleniumWrapper.WebDriver

swd.clickAndWait "css=img.imgCmdVr"
swd.clickAndWait "link=Andamentos"
swd.clickAndWait "css=img.imgCmdVr"
swd.clickAndWait "link=Documentos"
swd.clickAndWait "css=img.imgCmdVr"
swd.clickAndWait "link=INICIAL.pdf" 'Aqui eu consigo abrir o arquivo no Chrome

Application.Wait Now() + TimeValue("0:00:08")

swd.SendKeys Keys.Control, "s"

Application.Wait Now() + TimeValue("0:00:08")

swd.setImplicitWait 5000
swd.SendKeys "c:\temp\123.pdf"
swd.SendKeys Keys.Enter
swd.setImplicitWait 10000



....

Não acontece nenhum erro, simplesmente não abre.

Conto com a ajuda de todos.

Grato.

Re: VBA+Selenium: Salvar Documento ou imagem

Enviado: Seg Jun 27, 2016 7:04 pm
por webmaster
Colega,

O SendKeys no meu entedimento funciona no contexto do Excel. N'ao vej como ele poderia interferir no navegador. O que voce pode fazer e explorar opcoes de automacao do chrome. Voce seta isso na inicializacao. Procure por Chrome configurations.

Att

Re: VBA+Selenium: Salvar Documento ou imagem

Enviado: Ter Jun 28, 2016 6:51 pm
por rlellis
Tomás,

Você conhece alguma forma para eu substituir o comando:
swd.clickAndWait "link=INICIAL.pdf" 'Aqui eu consigo abrir o arquivo no Chrome

Por uma estrutura onde eu pudesse simular o clicar com a tecla da direita e selecionar o "Save target as"??

Eu estou abrindo o arquivo para depois salvar porque não consegui implementar uma forma de chamar o menu que fica ligado ao botão direito do mouse.

Grato desde já pelas informações.

Re: VBA+Selenium: Salvar Documento ou imagem

Enviado: Sex Mar 02, 2018 3:09 pm
por melchi
Colega, você conseguiu resolver este problema ?
Pois estou na mesma dúvida, não posso salvar o link pois ele é gerado a partir de um processamento de dados, e quando está aberto e fica na forma de PDF.
O que eu queria era exatamente o que vc quer, atribuir um nome para este arquivo e salvar numa pasta indicada.

Re: VBA+Selenium: Salvar Documento ou imagem

Enviado: Sex Mar 02, 2018 7:05 pm
por melchi
Então, eu resolvi da seguinte forma.
Pode não ser elegante mas deu certo.

Depois que o arquivo é salvo na pasta, eu mando renomear ele e mover ele de pasta.

ta ai o codigo q usei..


Sub RenomearArq()

uLine = Sheets("Certidões").Range("I" & Rows.Count).End(xlUp).Row
'Executa no intervalo de linhas definido
Set Rng1 = Sheets("Certidões").Range("I8:I" & uLine).Cells
For Each Cell In Rng1

'Pega o nome antigo na Coluna A e armazena na variavel
NomeAntigo = "C:\Users\Melchi\Downloads\consultarSituacaoFornecedor (1)"

'Pega o novo nome na coluna B e armazena na variavel
NovoNome = "C:\Users\Melchi\Downloads\" & Cell(1, 1).Value

Name NomeAntigo As NovoNome
Name "C:\Users\Melchi\Downloads\" & Cell(1, 1).Value As "C:\Users\Melchi\Desktop\CARGA DE DADOS\Certidão\Baixadas\" & Cell(1, 1).Value

Next

End Sub