Ожидание появления элемента (код C#) или POST/GET запрос

  • Автор темы Автор темы Dimionix
  • Дата начала Дата начала

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Реакции
3 140
Баллы
113
Для загрузки файла на сайт используется браузер. После добавления файла, идет его загрузка/обработка на сайте.
Нужно ждать появления ссылки на загруженный файл. Это можно сделать двумя способами:

1. С помощью кода ожидания появления элемента
Код:
Развернуть Свернуть Копировать
HtmlElement he;
for(int i=0; i<20; i++)
{
    he = instance.ActiveTab.FindElementByAttribute("Параметры");
    if(!he.IsVoid)
    {
    // Получаем ссылку
    }
    System.Threading.Thread.Sleep(2000);
}
2. POST/GET запросом на проверку загрузки, где ответом будет небольшой json. И если файл загружен, парсить ссылку из кода страницы или get'ом.

Подскажите, пожалуйста, что целесообразнее использовать с точки зрения ресурсозатрат? Нигде не нашел, как вообще работает код ожидания, по какому принципу?
 
Думаю, по ресурсам на GET будет лучше, тк искать элемент на странице надо будет только один раз, а не ~ 20. Но, скорее всего, разница не будет заметна, зато код станет менее прозрачным.
 
  • Оценить
Реакции: Dimionix
Думаю, по ресурсам на GET будет лучше, тк искать элемент на странице надо будет только один раз, а не ~ 20. Но, скорее всего, разница не будет заметна, зато код станет менее прозрачным.
Немного дополню по второму варианту.
Если в ответе приходит, что файл еще грузится/обрабатывается, то ожидание 2000 мс., если ответ положительный - получаем ссылку следующим шагом (т.к. в ответе нет ссылки). Т.е. тоже цикл.
PS. Второй вариант полностью на C#.
 
Up
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)