Ожидание завершения загрузки



  • @support said:

    Если страница всегда одинаковая, то можно ждать загрузки этой страницы. Действие "Ждать адреса браузера" или "Ждать загрузки url".

    Он будет ждать полного завершения загрузки страницы? Или просто проверит, что начал грузится данный урл и сразу пойдет сверять?

    "Нестандартные" функции не подходят, т.к. суть программы следующая.
    Суть программы:

    1.Подгружаем URL.

    1. Проверки
      If (element1 == TRUE) {write in 1.txt}
      else if (element2 == TRUE ) {write in 2.txt}
      else if (element3 == TRUE) {write in 3.txt}
      else {write in 4.txt}

    Он в цикле будет проверять данные условия и в любом случае запишет в 4й файл; т.к. элемент не будет найден в 3х случаях (хотя он просто еще не успеет подгрузиться).


  • administrators

    @Nludi said:

    Он будет ждать полного завершения загрузки страницы? Или просто проверит, что начал грузится данный урл и сразу пойдет сверять?

    "Ждать адреса браузера" - нет.
    "Ждать загрузки url" - будет ждать полной загрузки.

    Попробуйте перед данной проверкой воспользоваться действием "Ждать загрузки url"
    Также, если вам нужно сделать по быстрому, используйте сон.
    Он у вас не работал, так как сон по умолчанию отключен в режиме отладки.



  • Могу я воспользоваться символом * в написании урла?
    Например, Ждать загрузки URL site.ru/*


  • administrators

    Да, можете



  • Написал, [звёздочка]site.ru/[звёздочка] (тип указал expression)
    И выскакивает ошибки в режиме "записи"
    : Thread failed with message "SyntaxError: Parse error Line number:3 During execution of script { wait_load(site.ru,function(){ section_start("test", 12976,function(){ })})} "


  • administrators

    @Nludi тип должен быть string. Звездочки добавляются автоматически.



  • Если я Вас правильно понял, то я просто должен написать site.ru?
    Но он всё равно не ожидает загрузки следующей страницы


  • administrators

    Если написать site.ru то скрипт будет ожидать пока не загрузится любая страница с сайта, я не думаю, что это поможет



  • Мне это поможет. Т.к. мне надо что проверялись существования элементов только после того, как полностью загрузится страница (и разумеется эта страница на сервере site.ru). Только когда я пишу так, он всё равно не ожидает загрузки.
    Может быть фикс какой-то получится сделать? Уже 5й заказ у меня простаивает, не могу клиентам отдать, т.к. существование элемента невозможно проверить.
    И приходится на этом кривом аймакросе работать((((


  • administrators

    @Nludi

    Только когда я пишу так

    Пишите как?

    Фикс чего? Я пока не вижу какой-то ошибки в БАС.


  • administrators

    https://youtu.be/TNu0XVOvuNE - вот видео, как этотработает.



  • Пишу Wait http://site.ru; хотя грузится http://site.ru/?vars=something
    Вот какие именно переменные будут грузится, угадать не могу.



  • В хелпе написано:
    [[VARIABLE]].indexOf("val")<0
    Выполнять только если переменная VARIABLE содержит «val»

    В условии должен быть знак меньше или больше?


  • administrators

    @Nludi
    Wait http://site.ru будет ждать, пока загрузится любая страница с этого сайта. Более того, какая-то страница с этого сайта уже когда то грузилась, то это действие завершится мгновенно.
    Сначала вам нужно определится с критерием, как именно будет известно, что страница загружена?


  • administrators

    Выполнять только если переменная VARIABLE содержит «val»

    После появления конструктора выражений, код писать не обязательно.

    0_1468748119947_Contains.png



  • Исправьте в ВИКИ, пожалуйста. (http://wiki.bablosoft.com/doku.php?id=ru:is_it_possible_to_execute_certain_action_depending_on_condition_if_statement)

    @support said:

    Сначала вам нужно определится с критерием, как именно будет известно, что страница загружена?

    Вот именно, что критериев то нет универсальных, т.к. могут быть загружены разные варианты.
    Поэтому и прошу Вас как-то программно реализовать функцию проверки того, что страница загружена полностью.



  • Что-то у меня тоже непонятка возникла
    Может что-то недогоняю
    Например загружаю картинку на имгур
    И там через 30-40 картинок появляется капча, то есть переодически
    Как мне отлавливать эту капчу и разгадывать? Как лучше всего?) Уже два дня ковыряюсь невкурю что-то( Были рабочие варианты но криво все не так делаю точно))
    Еще блин эту капчу ловить приходится что бы записать шаб


  • administrators



  • @support спасибо читал, после этого чтива вообще запутался
    я так понял надо сделать по аналогии что бы проверяло есть капча и нету сразу, верно?
    как то слишком геморно конечно
    я изначально сделал проще без цикла, проверял есть ли элемент с капчей, если нету то продолжаем, ну а если есть то отгадываем
    кстати если юзать ожидание, после таймаута поток уходит в ошибку, а хотелось бы обрабатывать этот момент


  • administrators

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

    Ну так неизвестно, нету капчи потому что она еще не появилась, либо потому, что ее вообще не будет.

    кстати если юзать ожидание, после таймаута поток уходит в ошибку, а хотелось бы обрабатывать этот момент

    Да, я об этом же. Лучший вариант - в цикле проверять 2 условия -

    1. Появилась капча.
    2. Загрузка успешна.
      Как написано в статье

    как то слишком геморно конечно

    Ну хорошо, ждите тогда функции ожидания загрузки страницы. Будет во вторник вечером.


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.