БАС браузерные скрипты



  • Довольно абстрактный вопрос. Как вы делаете браузерные скрипты. Сколько работал в БАС делал через http клиент. По причине, что в браузере не могу уловить логики работы. Сейчас необходимость(google сервисы) заставили вернуться в браузер. Просто скрипты ведут себя абсолютно неадекватно, то не могут найти селектор. То сам сделает прокрутку(движения мыши причем отключены) и тоже не может найти селектор. Селекторы кстати разные типы использовал но обычно xpath. Но самая засада, что в режиме записи более менее все работает, а в режиме запуска не пойми что происходит аж бесит и как такое поведение отлаживаться непонятно.
    П.С.: Функционал БАС знаю в полной мере :) Просто интересно это у меня одного такая несовместимость с его браузером или может есть какой-то секрет как найти с ним общий язык?! :))



  • Еще бывает, что с загрузкой страниц проблемы. В заголовке вроде титл от новой, а сама страница старая или кусок страницы не прогрузится :) Чет у меня накопилось :)



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



  • @Denis_krsk если в режиме записи все ок, то нехватает пауз, у меня так с gmail было. БАС в запуску все делаеть очень быстро.



  • @Denis_krsk ну а если серьезно

    1. Большие задержки чтобы одни действия в случае глюка не наезжали на другие (потом их уменьшать достигая оптимальных работоспособных значений)
    2. Вывод лога после каждого действия чтобы было легче детектировать глюк (в статье Лайфхаки альтернативный вариант есть, см подпись)
    3. Цикл с игнорированием ошибок в узких местах
    4. Большое количество тестов по принципу TDD с большим количеством костылей (причесываем в конце, сначала достичь работоспособности, а не красивого и удобного кода)
    5. Много фантазии, умение искать обходные варианты если что-то уж очень не хочет работать


  • @romanbiz По поводу пауз интересно зависят ли они от инет соединения? Не получиться так, что на одной скорости все будет на другой опять трешь?



  • @Denis_krsk надо тестировать, если скорость сильно низкая надо выставлять большие таймауты чтобы сайты успевали подгрузиться.



  • @romanbiz А c помощью js кликать? Можно спалиться?



  • @Denis_krsk said in БАС браузерные скрипты:

    @romanbiz А c помощью js кликать? Можно спалиться?

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



  • @ruzne Ну так то да, наверное просто click() может спалится



  • @Denis_krsk все от сайта зависит. Есть два анекдота про ковбоев. Один про неуловимого Джо, а другой про спиленную мушку. Есть два экстремума, одним сайтам начхать на все что происходит, а другие каждый чих детектируют. Так что лучше идти от противного- максимально не парится и если палят отступать шаг за шагом.