Автоматизированное решение тестов NMO портала Росминздрава с сохранением и использованием правильных ответов.
ВАЖНО: Данный проект создан исключительно в учебных целях. Автор не несет ответственности за любые последствия, которые могут возникнуть в результате использования данного программного обеспечения. Используя данный проект, вы принимаете на себя всю ответственность за любые риски, связанные с его использованием.
- Автоматическая авторизация на портале
- Поиск ответов на тесты через внешний ресурс
- Сохранение и использование правильных ответов для последующих попыток
- Методы "умного перебора" для нахождения правильных комбинаций ответов
- Поддержка вопросов с одним или несколькими вариантами ответа
- Клонируйте репозиторий:
git clone https://github.com/CpyBAgy/NMO_Solver.git
cd NMO_Solver
- Установите зависимости:
pip install -e .
или
pip install -r requirements.txt
-
Настройка конфигурации:
Для защиты личных данных, конфигурация разделена на основную и пользовательскую.
a. Создайте файл
user_config.pyв директорииnmo_solver/со своими данными:# Личные данные пользователя (не отслеживаются Git) USERNAME = "123-456-789 00" # Ваш СНИЛС PASSWORD = "ваш_пароль" # Ваш пароль EMAIL = "" # Если используется PATH_TO_CHROME_PROFILE = "/путь/к/профилю/Chrome" # Путь к профилю браузера
b. Этот файл автоматически добавлен в
.gitignoreи не будет отправлен в репозиторий.c. Если файл не создан, программа будет использовать стандартные значения из
config.py. -
Чтобы найти профиль Google Chrome, вам нужно перейти в определенную директорию на вашем компьютере, которая зависит от операционной системы.
В Windows:
- Нажмите Win+R для открытия окна "Выполнить"
- Введите: %LOCALAPPDATA%\Google\Chrome\User Data
- Нажмите OK, и откроется папка с профилями Chrome
В macOS:
- Откройте Finder
- В меню выберите "Переход" → "Переход к папке"
- Введите: ~/Library/Application Support/Google/Chrome
- Нажмите Enter
В Linux:
- Откройте файловый менеджер
- Перейдите к: ~/.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в зависимости от вашей системы.
Создайте файл 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.