Skip to content

Repository files navigation

NMO Solver

Автоматизированное решение тестов NMO портала Росминздрава с сохранением и использованием правильных ответов.

Отказ от ответственности

ВАЖНО: Данный проект создан исключительно в учебных целях. Автор не несет ответственности за любые последствия, которые могут возникнуть в результате использования данного программного обеспечения. Используя данный проект, вы принимаете на себя всю ответственность за любые риски, связанные с его использованием.

Функциональность

  • Автоматическая авторизация на портале
  • Поиск ответов на тесты через внешний ресурс
  • Сохранение и использование правильных ответов для последующих попыток
  • Методы "умного перебора" для нахождения правильных комбинаций ответов
  • Поддержка вопросов с одним или несколькими вариантами ответа

Установка

  1. Клонируйте репозиторий:
git clone https://github.com/CpyBAgy/NMO_Solver.git
cd NMO_Solver
  1. Установите зависимости:
pip install -e .

или

pip install -r requirements.txt
  1. Настройка конфигурации:

    Для защиты личных данных, конфигурация разделена на основную и пользовательскую.

    a. Создайте файл user_config.py в директории nmo_solver/ со своими данными:

    # Личные данные пользователя (не отслеживаются Git)
    USERNAME = "123-456-789 00"  # Ваш СНИЛС
    PASSWORD = "ваш_пароль"       # Ваш пароль
    EMAIL = ""                    # Если используется
    PATH_TO_CHROME_PROFILE = "/путь/к/профилю/Chrome"  # Путь к профилю браузера

    b. Этот файл автоматически добавлен в .gitignore и не будет отправлен в репозиторий.

    c. Если файл не создан, программа будет использовать стандартные значения из config.py.

  2. Чтобы найти профиль Google Chrome, вам нужно перейти в определенную директорию на вашем компьютере, которая зависит от операционной системы.

В Windows:

  1. Нажмите Win+R для открытия окна "Выполнить"
  2. Введите: %LOCALAPPDATA%\Google\Chrome\User Data
  3. Нажмите OK, и откроется папка с профилями Chrome

В macOS:

  1. Откройте Finder
  2. В меню выберите "Переход" → "Переход к папке"
  3. Введите: ~/Library/Application Support/Google/Chrome
  4. Нажмите Enter

В Linux:

  1. Откройте файловый менеджер
  2. Перейдите к: ~/.config/google-chrome

В папке User Data/Chrome вы увидите папки с названиями "Default", "Profile 1", "Profile 2" и т.д. Это и есть папки ваших профилей Chrome. Папка "Default" - это ваш основной профиль.

Использование

Чтобы использовать email, необходимо указать его в user_config.py или передать с помощью --email.
Если указан email и СНИЛС username, программа будет использовать email для авторизации.
Если email не указан, программа будет использовать только СНИЛС.

Через командную строку

python -m nmo_solver.main

python -m nmo_solver.main можно заменить на python3 -m nmo_solver.main или nmo_solver в зависимости от вашей системы.

Через файл с URL

Создайте файл urls.txt с URL тестов (по одному на строку), затем запустите:

python -m nmo_solver.main --file

Программно

from nmo_solver.main import NmoParser

parser = NmoParser()
parser.solve("https://nmfo-vo.edu.rosminzdrav.ru/#/user-account/view-iom/ваш-id-теста")

Структура проекта

  • nmo_solver/ - основной пакет
    • config.py - основные настройки программы (URL, таймауты, пути)
    • user_config.py - персональные настройки пользователя (не в Git)
    • driver.py - настройка и управление веб-драйвером
    • parsers/ - модули для парсинга информации
    • models/ - модели данных
    • utils/ - вспомогательные функции
    • main.py - основной модуль программы

Примечания

  • Для корректной работы программы требуется установленный Chrome/Chromium
  • Программа использует библиотеку Selenium для взаимодействия с браузером
  • Ответы на тесты сохраняются в папке answers/ для последующего использования
  • Сертификаты сохраняются в папке certificates/ (в разработке)
  • Возможны изменения в структуре проекта и функционале, так как проект находится в активной разработке

Лицензия

Этот проект распространяется под лицензией MIT. Подробности в файле LICENSE.

About

Application for solving NMO tests (edu.rosminzdrav.ru)

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages