Автоматизация рутины в Octo Browser при помощи Python + Selenium


Всем привет, хотел бы поделиться с сообществом тремя opensource скриптами по автоматизации рутины в Octo Browser.

Что вас ждет внутри?

  • Автоматическая подача документов на ЗРД

  • Автоматическое прохождение чекпоинта на селфи

  • Автоматическая подача тикета на Policy

Все работает на базе Python + Selenium, и должно запускаться и на macOS и на Windows.

Вступление

Отдельная благодарность ребятам - Желтому Вебу и Бородатому арбитражу.

Костяк кода для начала работы я брал у них.

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

Писал все под macOS, но по идее и пользователи Windows смогут запустить программу без проблем.

Что мы имеем на борту?

Три программки, при помощи которых мы автоматизируем прохождение ЗРД, чек на селфи, и Полиси:

Видео с работой софта:

  • Автоматическое прохождение ЗРД

  • Автоматическое прохождение чекпоинта

  • Автоматическое прохождение Policy


Как установить чтобы все работало?

Что нужно для работы:

  1. Python 3.9+.

  2. PyCharm - для нормального запуска, отладки и правки кода.

  3. Выполнить инструкции в README файле репозитория Github.

Откуда берутся сорсы:

  • Селфи - берем фото с thispersondoesntexist.
    Отлично проходит чек, по моим наблюдениям.

  • Документы - берем из докгена от команды NPPR.
    В текущей версии софта - доки идут на рандомные данные.

FAQ:

  1. Какие аккаунты будет запускать программа?
    - Мы подаем запрос на АПИ такого вида: "найди мне все айди профайлов, у которых в названии присутствует "{ваше_ключевое_слово}". Получаем список айди, и программа по очереди начинает запускать их и выполнять скрипт.

  1. Что делать если выбивает ошибку "debug_info"?
    - Закрываем/открываем Окто, и пробуем снова :) Скорее всего залагала синхронизация профиля, и окто не дает вам запустить профайл.

  1. Что делать с ошибкой HTTPConnect...?
    - Попробуйте изменить в коде программы номер порта. Я использую 58888, вам возможно нужен 58878 порт.

  1. Программа не ворует аккаунты/токены/логины_пароли?
    - Все прозрачно. Перед вами открытый код, и можете сами посмотреть, что никаких запросов на сторонние ресурсы не подается. Программа использует официальные библиотеки, запускается у вас на локальной машине.

  1. Можно ли подправить программу под свои нужды/цели? Или поправить твои костыли?
    - Конечно можно, это же opensource. Буду рад, если вы сможете использовать этот скрипт, как скелет для своих задач.
    Если вы можете поправить мои костыли, чтобы программа работала лучше/сильнее/быстрее, буду вам только признателен, и жду в личке :)

Контакты:

  • https://t.me/cpa_rnd - телеграм-канал с обновлениями по софту, и надеюсь, чем то полезным для вас

  • https://t.me/troiad - автор этих чудесных костылей


Комментарии