An attempt to automatically perform Duolingo exercises via browser automation.
- python 3.7
- selenium web-drivers
Selenium web-drivers need to be downloaded manually. They are not provided with the source package as they are continuously being updated by the respective browser developers.
AutoDuo currently supports following web-drivers.
Download required web driver(s) and put them inside drivers
directory.
Provided downloader script in
tools
directory downloads the latest chrome-driver. However, if you are using an old chrome browser, you might have to manually download a compatible chrome-driver.
Final project hierarchy should be as follows.
AutoDuo (repository root directory)
├── drivers
│ └── chromedriver
├── tools
│ └── ...
├── LICENSE
├── README.md
└── ...
It is recommended to use
pipenv
for installing required python modules.
Invoke following command from inside the project root directory to install all the requirements.
pipenv install
AutoDuo main script must be invoked with providing a valid Duolingo user-email and password as command-line arguments.
pipenv run python3 main.py
In the very first run, you have to manually log into your Duolingo account. This is not necessary in subsequent runs.
- Add support to play more levels (currently plays only the first level)
- Improve translations
- Support different web drivers
- The program can crash before starting a lesson. Ignore this and re-run.