(Решено) Полная загрузка Recaptcha v2



  • Здравствуйте! Подскажите пожалуйста с решением проблемы.
    При вызове окна рекапчи мне нужно дождаться ее полной загрузки, например когда картинки в ней после каждого нажатия изменяются. Если я поставлю кубик "Ждать полной загрузки" это поможет, но так же BAS будет ждать другие элементы на странице и в этом как раз проблема, мне нужно ждать только рекапчу, а не всю страницу. Ожидание по времени не подходит, так как оно может сильно отличаться. Возможно как - то через JS этот вопрос решить, может есть какие - то методы чтобы ждать полной загрузки внутри iframe.



  • Ждать появления элемента



  • @KoldZ3N Какого именно элемента? Вы особо не вчитывались в вопрос или реально знаете ответ?
    Рекапча уже присутствует на странице, элементы тоже, нужно не ждать их, а отслеживать полную загрузку.



  • @spacerange

    [бред]
    можно по отрисовке ячейки определять.
    пока не отрисовано она вроде белая.
    достаточно определить последнею линию-слой и проверять отклонение от ~100% белого.
    если не ~100% белого на последней строке-пикселе то значить картинка заполнила ячейку полностью.

    реализовать такое можно вариативно.
    [/бред]



  • @tet-vivi Что самое прикольное, до того как сделал полную загрузку, я так уже пробовал.)))
    Работало вполне себе хорошо, но все же решил поискать более лучший вариант.



  • @spacerange сейчас посмотрел, https://www.google.com/recaptcha/api2/demo через тор.

    при нажатии класс(ы) ячейки меняются.
    после полной загрузки класс(ы) возвращаются в дефолтное состояние.

    т.е. можно по классам определять.

    p.s. классы - css class



  • @tet-vivi Очень интересно, попробую. Спасибо!



  • @spacerange Когда картинки в рекапче меняются, и вы используете метод решения, отсылая в сервис именно картинку, а не sitekey и текущий url, то БАС сам дожидается, когда новые картинки полностью подгрузятся, и заново отсылает их на сервис. Если вам надо решать рекапчу, я бы рекомендовал использовать метод "newapi". Если вам надо дожидаться её загрузки по другой причине, есть действие "Ждать CSS", которое ждёт, пока на странице не появится элемент, соответствующий заданому селектору. А селектор можно настроить на внутренние части рекапчи.



  • @DoctorKrolic Да, мне нужно ждать по другой причине, не в встроенном модуле. Не знал про "Ждать css", не использовал ранее, спасибо!



  • @DoctorKrolic Вот только в рекапче элементы находятся внутри iframe и просто так их браузер не видит.
    Приходится указывать их через >MATCH> и на сколько понимаю это не подходит для такого действия.



  • @spacerange >XPATH >FRAME >XPATH так тоже должны быть видны вроде



  • @spacerange Можно работать с CSS-селекторами внутри фрейма. Вот официальный туториал непосредственно от разработчика (уже с правильным таймкодом) - https://youtu.be/joDn1VMO9KM?t=5659. Я бы рекомендовал вам полностью посмотреть данный обучающий курс, потому что, как видно, вы этого ещё не сделали.



  • @bigorat said in Полная загрузка Recaptcha v2:

    XPATH >FRAME >XPATH так тоже должны быть видны вроде

    @DoctorKrolic said in Полная загрузка Recaptcha v2:

    Можно работать с CSS-селекторами внутри фрейма.

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



  • @DoctorKrolic said in Полная загрузка Recaptcha v2:

    Я бы рекомендовал вам полностью посмотреть данный обучающий курс, потому что, как видно, вы этого ещё не сделали.

    Я не использовал "Ждать CSS" потому что все время использовал "Ждать появления элемента" через контекстное меню. И из вашего сообщения я подумал что "Ждать CSS" как раз связан с ожиданием полной загрузки, но похоже это тоже самое что "Ждать появления элемента." А не потому что я не знаю как искать элементы.)))

    Из вики:
    «Ждать css» - ждет пока на странице не появится элемент с заданным css. Это действие очень удобно использовать через элемент контекстного меню «Ждать Появления Элемента». Действие «Ждать Появления Элемента» будет ждать пока элемент, на который был произведен клик мышкой не будет существовать на странице.



  • @tet-vivi Проверил, да действительно атрибуты изменяются во время работы, скорее всего получится по ним отследить.
    Еще раз спасибо, тему можно считать закрытой.


Log in to reply