Помогите с логикой.

Поддержка
  • @xclsv Хорошо, как мне тогда дождаться окончания выполнения предыдущего запроса и сделать новый? Я просто тогда таймауйт действие могу установить именно в тот момент когда прошлый запрос должен был оборваться. От чего это зависит? Это сам сервер устанавливает свой таймаут подключения к нему?

  • @fastspace said in Помогите с логикой.:

    как мне тогда дождаться окончания выполнения предыдущего запроса и сделать новый

    Ждать полной загрузки страницы =)
    Полагаю, в это ожидание входит не только полная загрузка ответов серверов, но и компиляция полученных ответов в браузере.
    Может случиться так, что какой-то из запросов на странице выполняется слишком долго, но к серверу уже можно делать новый запрос.
    Думаю, в браузере не удастся настолько тонко регулировать таймауты.
    Если не хотите ждать, пока будет происходить загрузка в браузере, используйте http-клиент.

    И воздержитесь от ожидания полной загрузки страницы. Используйте ожидание элемента. Регулируйте таймаут внутри этого действия. Тогда Вам будет не важно, выполнился ли запрос к серверу через прокси и в какой по счету итерации подгрузилась страница. Если уж за 5 итераций элемента дождаться не удалось, то всё, фиаско.

  • @xclsv

    @xclsv said in Помогите с логикой.:

    @fastspace said in Помогите с логикой.:

    как мне тогда дождаться окончания выполнения предыдущего запроса и сделать новый

    Ждать полной загрузки страницы =)
    Полагаю, в это ожидание входит не только полная загрузка ответов серверов, но и компиляция полученных ответов в браузере.
    Может случиться так, что какой-то из запросов на странице выполняется слишком долго, но к серверу уже можно делать новый запрос.
    Думаю, в браузере не удастся настолько тонко регулировать таймауты.
    Если не хотите ждать, пока будет происходить загрузка в браузере, используйте http-клиент.

    Это понятно, что необходимо ждать полную загрузку, вопрос лишь в том что сколько ждать. По умолчанию там стоит 60 сек и это видно мало, т.к сервер продолжает мне отдавать элементы и при повторной загрузке я ловлю ошибки. http клиент тоже не вариант использовать.

    Чем будет отличаться ожидания полной загрузки от ожидания элемента? Ну вот допустим я жду кнопку button1 60 сек, нет этой кнопки за 60 сек - я делаю повторный запрос, я же ведь снова словлю ошибку?

  • @fastspace
    Тем, что отдельные элементы могут появляться на странице гораздо быстрее, чем она полностью загрузится. И этого может быть вполне достаточно для продолжения работы, за исключением случаев, когда задача подразумевает обязательную полную загрузку страницы, к примеру, для отработки счётчиков.

  • @xclsv Это хотя бы что-то. Тем более я проверку буду делать на нужный элемент который я должен буду нажать.

    В общем итог, как решить проблему:
    1)Дождаться таймаута от сервера. Нужно узнать сколько максимальное время подключения к серверу. Оно может быть и 2 минуты и все 3. Только тогда делать повторный запрос.
    2)Убрать галку "ждать полной загрузки страницы" и начать ждать элемент. В случае ошибки ожидания элемента сделать повторный запрос.
    Правильно?

  • @fastspace

    1. Думаю, дело не в таймауте сервера. Просто через прокси ответ идёт слишком медленно. Чем больше будет тайм-аут ожидания, тем меньше будет ошибок. Ну и помните, что это ошибка ожидания загрузки, а не ошибка сервера. Сервер ответил вам 200 и послал страничку.
    2. Совершенно верно.
  • @xclsv Хорошо, сейчас попробую. Однако в блоке "Ожидание", есть еще такое действие "Ждать загрузки Url". Это походу то, что нужно?

  • Ждать CSS тоже нихера не работает. Ставлю загрузить страницу и ждать элемент. Элемент давным давно загрузился, а скрипт ждет его и выходит с ошибкой ожидания.

  • у меня что то тоже подобное раньше было, забыл как страшный сон!

    alt text alt text
    Подпили просто как тебе нужно ))

  • @besigor said in Помогите с логикой.:

    у меня что то тоже подобное раньше было, забыл как страшный сон!

    alt text alt text
    Подпили просто как тебе нужно ))

    Спасибо огромное :D СЧАСТЬЯ ТЕБЕ И БОГАТСТВА! РАБОТАЕТ! Скрипт идет на второй круг и ждет загрузки элемента. А то сторжилы форума понаписали тут :D А как повторный раз загрузить страницу не знают.

  • @fastspace
    Очень рад, что решение Вашей задачи нашлось =)

  • Я даже немного улучшил его метод, скрипт чекает ошибку "не удалось загрузить" и ждет элемент.
    Если кому надо - пишите.

  • This post is deleted!
  • @FastSpace А что там было на скринах?

  • @FastSpace said in Помогите с логикой.:

    Я даже немного улучшил его метод, скрипт чекает ошибку "не удалось загрузить" и ждет элемент.
    Если кому надо - пишите.

    Приветствую, картинки, что вам скинули удалились. Просьба подсказать как реализовали )

  • @FastSpace поддерживаю вопросы выше. Тоже столкнулась с подобным. Форум доковыряла до этого поста, а варианта решения тут не видно. Подскажите, пожалуйста

  • @Dubik said in Помогите с логикой.:

    а варианта решения тут не видно

    Разбить логику на функции и не использовать метки. Тогда не будет проблемы, с которой столкнулся топикастер.

  • @sergerdn said in Помогите с логикой.:

    @Dubik said in Помогите с логикой.:

    а варианта решения тут не видно

    Разбить логику на функции и не использовать метки. Тогда не будет проблемы, с которой столкнулся топикастер.

    Ты год видел когда я это спросил?
    Там не влияют на это ни метки, ни функции. Та задача решается либо вайт кэшем, либо интерактивом, я уже давно это решил

  • @FastSpace said in Помогите с логикой.:

    Ты год видел когда я это спросил?

    Да.

    @FastSpace said in Помогите с логикой.:

    Та задача решается либо вайт кэшем, либо интерактивом, я уже давно это решил

    Одну и туже задачу можно решить не одним способом.

  • @FastSpace интерактивом тоже не вседа решается к сожалению, очень часто ловиться Таймаут во время выполнения script2 for[documentRoot]
    короче любое выполнение js действия или не js на странице приводит Таймаут во время выполнения script