Esperando o browser finalizar o download

Esperar o browser finalizar o download de um arquivo costuma ser uma tarefa não muito simples de implementar no UiPath. Então eu desenvolvi um atividade que espera o download de um arquivo ser completado e retorna o nome do completo desse arquivo da forma nomeada pelo browser.

Esta atividade está disponível para download aqui no portal, clique no link abaixo:

Download File Activities

Para utilizar pacotes você deverá baixá-los e colocá-los em uma pasta e então criar um feed personalizado no Manage Packages. Acesse Adding Custom Feeds para detalhes.

O pacote possui duas atividades, são elas:

  • Wait File Download - Espera por um arquivo ser baixado.
  • Get Download Folder Path - Retorna o caminho da pasta de download do usuário atualmente logado.

Uma vez instalado o pacote ao seu projeto siga os seguintes passos?

  1. Navegue para página que possui o link do download do arquivo, por exemplo: https://www.thinkbroadband.com/download.
  2. Crie um workflow do tipo sequence e coloque um atividade Attach Browser.
  3. Adicione uma atividade Ckick para dentro da atividade Attach Browser e indique o elemento que possui o link de download do arquivo desejado.
  4. Opcionalmente você pode inicializar uma variável com a data/hora atual (DateTime.Now) e passe este valor para atividade Wait File Download, adicionada em seguida.
  5. Adiciona a atividade Wait File Download e informe o valor da propriedade FileNamePattern, que é o padrão do nome do arquivo, por exemplo, *.Zip ou Planilha*.xlsx, evite informa o nome do arquivo apenas, como Planilha.xlsx, pois se o browser salvar o arquivo como Planilha(1).xlsx, a atividade não localizará o arquivo.
  6. Informe como valor da propriedade DownloadStartDateTime a variável, do tipo DateTime, inicializada acima. Esta propriedade para verificar se arquivo já foi baixado, se é um arquivo novo, e não um arquivo que já existia na pasta. Se preferir, pode deixar esta propriedade vazia, assim será usada a data/hora de início de execução da atividade, neste caso evite colocar outras atividades entre o clique e esta atividade, pois corre o risco do arquivo ser baixado e atividade não ter sido iniciada. Se precisar de fato fazer isso, inicialize uma variável DateTime logo após o clique, ou antes.
  7. Informe o valor da propriedade DownloadFolder, esta propriedade é o caminho onde o arquivo será baixado pelo browser, se não informada será usado o caminho da pasta de downloads do usuário atual.
  8. Configure as propriedade Timeout (milliseconds) e DelayBetweenSearches, se preferir.
  9. A propriedade FileName possui o nome completo do arquivo baixado, de acordo como nomeado pelo browser. Você pode usar uma atividade MessageBox para exibir.

 

Comentar