Skip to content

Latest commit

 

History

History
95 lines (55 loc) · 5.29 KB

File metadata and controls

95 lines (55 loc) · 5.29 KB

Автоматизация решения Digits Solver

Этот скрипт автоматизирует решение головоломок в игре Digits на веб-сайте New York Times с использованием Selenium и пользовательского решателя.

Подготовка

Перед запуском скрипта убедитесь, что у вас установлены следующие компоненты:

  • Python 3.x
  • Selenium
  • Chrome WebDriver
  • Папка с решателем

Начало работы

  1. Клонируйте репозиторий или загрузите скрипт.

  2. Установите необходимые зависимости с помощью pip:

    pip install selenium
  3. Скачайте исполняемый файл Chrome WebDriver и добавьте его расположение в переменную среды PATH вашей системы.

Конечно! Вот документация для интерфейса командной строки:

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

solver/util/solve_auto [-h] [[-start S] [-level L] | [-daily]]

Необязательные аргументы

  • -h, --help: Показать сообщение справки и выйти.

  • -start S, --startLevel S: Указать начальный уровень для решения головоломок. Значение должно быть целым числом.

  • -level L, --levelToPlay L: Указать общее количество уровней для прохождения. Значение должно быть целым числом.

  • -daily, --dailyOnly: Решать только ежедневные головоломки. Если этот флаг указан, инструмент будет игнорировать параметры --startLevel и --levelToPlay и будет решать только ежедневную головоломку.

Примеры

  1. Решить 10 уровней, начиная с уровня 5:

    python solver/util/solve_auto --startLevel 5 --levelToPlay 10
    
  2. Решить только ежедневные головоломки:

    python solver/util/solve_auto --dailyOnly
    

Примечание: Если аргументы не указаны, инструмент будет использовать настройки по умолчанию (начиная с уровня 1 до уровня 20).

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

Скрипт автоматизирует следующие действия:

  1. Переход на веб-сайт игры Digits на веб-сайте New York Times.

  2. Изменение времени игры с помощью скрипта TimeShift.js (только в solveMany.py).

  3. Нажатие кнопки "Play" для начала головоломки.

  4. Решение каждой головоломки путем выполнения необходимых нажатий на кнопки с числами и операторами.

  5. Обработка случаев, к

огда скрипт застревает, например, когда кнопки или элементы не доступны для нажатия.

  1. Переход к следующей головоломке или возвращение на экран выбора головоломки при завершении набора головоломок.

  2. Печать текущего номера головоломки и даты для справки (только в solveMany.py).

Настройка

Если вы хотите изменить или расширить функциональность скрипта, вы можете изучить следующие функции:

  • click_element(element_id, error_message): Обрабатывает нажатие на элемент, идентифицируемый по его ID. Если элемент недоступен для нажатия, пользователю предлагается ввести команду.

  • combine_numbers(step_list, buttons): Обрабатывает объединение чисел путем выполнения необходимых нажатий на кнопки с числами и обновления состояния кнопок.

  • next_puzzle_button_click(): Обрабатывает нажатие кнопки "Next Puzzle" для перехода к следующей головоломке.

  • back_to_puzzles_button_click(): Обрабатывает нажатие кнопки "Back to Puzzles" при завершении набора головоломок.

Не стесняйтесь изменять код в соответствии с вашими конкретными требованиями.

Лицензия

Этот скрипт предоставляется по лицензии MIT.

Обратите внимание, что в документации предполагается, что вы уже настроили необходимую среду и зависимости, как указано в разделе "Подготовка".