Ожидание загрузки страницы

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

wintego

Client
Регистрация
20.08.2016
Сообщения
98
Реакции
12
Баллы
8
Как сделать чтобы после клика по ссылке зеннопостер ждал пока страница загрузится, а не выполнял действия дальше?
 
Кубик С# код. Там прописываем:

System.Threading.Thread.Sleep(500);
instance.ActiveTab.WaitDownloading();
 
а как дождаться загрузки определенного элемента на странице?
 
а как дождаться загрузки определенного элемента на странице?
Код:
Развернуть Свернуть Копировать
HtmlElement he;
for(int i=0;i<30;i++) //количество циклов по поиску элемента
{
    he = instance.ActiveTab.FindElementByAttribute("input:submit","value","Get reward!","regexp",0);
    if(!he.IsVoid)
    {
        break;
    }
    System.Threading.Thread.Sleep(3000); //Время в милисекундах
}
 
Код:
Развернуть Свернуть Копировать
HtmlElement he;
for(int i=0;i<30;i++) //количество циклов по поиску элемента
{
    he = instance.ActiveTab.FindElementByAttribute("input:submit","value","Get reward!","regexp",0);
    if(!he.IsVoid)
    {
        break;
    }
    System.Threading.Thread.Sleep(3000); //Время в милисекундах
}
Данный код до сих пор актуален? А то всё равно экшены идущие после него начинают срабатывать не дожидаясь загрузки страницы.
 
Данный код до сих пор актуален? А то всё равно экшены идущие после него начинают срабатывать не дожидаясь загрузки страницы.
Актуален. Он ждет не загрузку страницы, а элемента.
 
Элемент ( кнопка,ссылка и т.д.) ? Ведь они отображаются после прогрузки страницы или я что то не понимаю?
Страница может выполнять какой-либо скрипт и грузится очень долго, а по факту все элементы которые нужны уже прогрузились.
 
Страница может выполнять какой-либо скрипт и грузится очень долго, а по факту все элементы которые нужны уже прогрузились.
Может есть какой то код что бы дожидался прогруза физической кнопки, ну что бы уже по ней кликнуть можно было?
 
Может есть какой то код что бы дожидался прогруза физической кнопки, ну что бы уже по ней кликнуть можно было?
Выше вам уже ответили (привели код). Сейчас вы спрашиваете тоже самое.
 
Выше вам уже ответили (привели код). Сейчас вы спрашиваете тоже самое.
Выше привели примеры 2 кодов, ни один из них не работает. То есть нажалась кнопка далее (переход на след. страницу, выполняется этот код, далее страница не успевает прогрузится и шаблон продолжил работу дальше, соответственно кнопок он не находит) Може я его использую как то не так, подскажите пожалуйста, очень нужно!
 
Выше привели примеры 2 кодов, ни один из них не работает. То есть нажалась кнопка далее (переход на след. страницу, выполняется этот код, далее страница не успевает прогрузится и шаблон продолжил работу дальше, соответственно кнопок он не находит) Може я его использую как то не так, подскажите пожалуйста, очень нужно!
Ждать нужно элемент на странице которую хочешь загрузить. И это не обязательно должна быть кнопка.
 
Данный код до сих пор актуален? А то всё равно экшены идущие после него начинают срабатывать не дожидаясь загрузки страницы.
Тут надо еще учитывать случай когда она не то что долго грузиться, а вообще хрен хочет грузиться, сколько не жди. или когда просто вкладка blank открылась (что тоже в многопотоке не так и редко)
А так же не учитывает случай когда типо кликнули по ссылке, которая открывает в новой вкладке, а реально клик не прошел.

итого 3 случая
1. Просто еще не прогрузилось - ждем как в случае выше, проверяя элемент
2. Открылась вкладка blank - тут надо не ждать, а активировать прошлую команду navigate или click повторно
3. Клик по ссылке был, а реально он не прошел - тут так же надо активировать заново клик


p.s. Чтобы поставить окончательно печать на лоб по этому вопросу, то есть некоторые сервисы, типо логина, которые после действия №1 (ввод логина) могут тебе подкинуть несколько вариантов страниц (пароль, подозрительный трафик, а это точно вы?, выберите какой именно акаунт вы хотите активировать, а мы вас знаем, потому только код введите и тд). Потому если ждать определенный элемент, то тут иногда надо штук 5-10 разных элементов проверять, что именно тебе подкинуло))
 
  • Спасибо
Реакции: Hannes
Код:
Развернуть Свернуть Копировать
HtmlElement he;
for(int i=0;i<30;i++) //количество циклов по поиску элемента
{
    he = instance.ActiveTab.FindElementByAttribute("input:submit","value","Get reward!","regexp",0);
    if(!he.IsVoid)
    {
        break;
    }
    System.Threading.Thread.Sleep(3000); //Время в милисекундах
}
никто не в курсе, как реализуется такое действие под ajax?
 
никто не в курсе, как реализуется такое действие под ajax?
прямо таким кодом (за исключением поиска конкретного элемента) и реализуется
отработал ajax, какие-то данные (элемент) всатвились в DOM допустим, элемент появился и может быть найден
 

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