Java / Selenium - Как проверить, была ли загрузка завершена в папке загрузки - PullRequest
0 голосов
/ 14 февраля 2019

Я сослался на многие сайты, и ни один из них не помог мне проверить, была ли загрузка завершена. 100%

Сценарий. Я загружаю файл и хочу, чтобы моя программа Selen / Java ожидала загрузки.завершено на 100%.

(Лучше всего было бы скачать через HTTP, но я не нашел ничего подходящего, что могло бы мне помочь)

Заранее спасибо !!

1 Ответ

0 голосов
/ 14 февраля 2019

Приведенный ниже код работал для меня, есть 2 способа:

1-й метод: (Вам необходимо скачать JAR AsyncHttpClient)

try {
              AsyncHttpClient client = Dsl.asyncHttpClient();
              final FileOutputStream stream = new FileOutputStream(FILE_NAME);
              client.prepareGet(FILE_URL).execute(new AsyncCompletionHandler<FileOutputStream>() {

                    @Override
                    public State onBodyPartReceived(HttpResponseBodyPart bodyPart) 
                      throws Exception {
                        stream.getChannel().write(bodyPart.getBodyByteBuffer());
                        return State.CONTINUE;
                    }

                    @Override
                    public FileOutputStream onCompleted(Response response) 
                      throws Exception {
                        return stream;
                    }
                });

        } 
          catch (Exception  e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

2-й метод:

private static void startDownload(String FILE_URL, String FILE_NAME)
 {
     try (BufferedInputStream in = new BufferedInputStream(new URL(FILE_URL).openStream());
              FileOutputStream fileOutputStream = new FileOutputStream(FILE_NAME)) {
                byte dataBuffer[] = new byte[1024];
                int bytesRead;
                while ((bytesRead = in.read(dataBuffer, 0, 1024)) != -1) {

                    fileOutputStream.write(dataBuffer, 0, bytesRead);
                }
            } catch (IOException e) {
               System.out.println(e);
            }
 }
...