An automated bot that uses AI to answer Edgenuity quiz questions. Connects to your browser via Selenium, reads questions and answer choices, queries a local AI model through Ollama, and submits answers automatically — all through a live dark-themed GUI.
- AI-Powered Answering — Uses local or cloud Ollama models (DeepSeek-R1, GPT-OSS, etc.) to answer questions intelligently
- Multiple Question Types — Multiple choice, multi-select, dropdown/cloze, free-write, drag-and-drop, and multi-part questions
- Smart Retry Logic — Automatically retries wrong answers up to 2 times with escalating prompts that exclude already-wrong choices
- Video Skipping — Skips Edgenuity videos by boosting playback speed (up to 16x) or seeking to the end
- Real-Time GUI — Dark-themed interface with live logs, AI progress bar, video progress bar, stats, and a session timer
- Seamless Browser Integration — Attaches to an existing Opera GX session, no new browser window needed
- Push Notifications — Sends alerts via ntfy.sh when assignments complete or errors occur
- Python 3.7+
- Ollama installed and running
- Opera GX browser
- ChromeDriver v145 (place in the same folder as the script)
pip install selenium requests
Download Ollama from https://ollama.com/download, then run:
ollama pull deepseek-r1
Any Chromium-based browser works. Close it fully first, then launch it from the command line with --remote-debugging-port=9222. Pick your browser below:
Note: Make sure you use the correct ChromeDriver version for your browser's version. ChromeDriver v145 is included and matches Opera GX and Chrome around that release. Check chromedriver.chromium.org if you need a different version.
Opera GX (default/recommended)
"C:\Users\caleb\AppData\Local\Programs\Opera GX\opera.exe" --remote-debugging-port=9222
Google Chrome
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222
On macOS:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222
On Linux:
google-chrome --remote-debugging-port=9222
Brave
"C:\Program Files\BraveSoftware\Brave-Browser\Application\brave.exe" --remote-debugging-port=9222
On macOS:
/Applications/Brave\ Browser.app/Contents/MacOS/Brave\ Browser --remote-debugging-port=9222
Microsoft Edge
"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --remote-debugging-port=9222
On macOS:
/Applications/Microsoft\ Edge.app/Contents/MacOS/Microsoft\ Edge --remote-debugging-port=9222
After launching, open one tab and navigate to your Edgenuity test page before running the script.
Put chromedriver.exe (v145) in the same folder as auto_answer.py. The script detects it automatically.
python auto_answer.py
The GUI launches automatically. The bot will:
- Connect to your Opera GX browser session
- Find and switch to the Edgenuity tab
- Read the current question and answer choices
- Send the question to the AI and wait for a response
- Click the correct answer and submit
- Handle retries if the answer is wrong
- Skip videos and navigate to the next question/page
| Control | Description |
|---|---|
| Pause / Resume | Temporarily halt and continue the bot |
| Stop | End the session immediately |
| D key toggle | Enable/disable D key spam after video reload |
| Video speed toggle | Enable/disable automatic video speed boost |
| Speed multiplier | Set a custom playback speed (default: 16x) |
All settings are at the top of auto_answer.py:
| Setting | Default | Description |
|---|---|---|
OLLAMA_MODEL |
gpt-oss:120b-cloud |
AI model to use |
OLLAMA_USE_CHAT_API |
True |
True for cloud/chat models, False for local generate models |
MAX_QUESTIONS |
50 |
Safety limit — max questions per run |
STEP_DELAY |
0.2 |
Seconds between actions (lower = faster) |
VIDEO_SPEED_MULTIPLIER |
16.0 |
Video playback speed multiplier |
D_KEY_PRESS_ENABLED |
True |
Spam D key after video page reload |
NTFY_ENABLED |
True |
Send push notifications via ntfy.sh |
NTFY_TOPIC |
edgenuity_bot |
Your ntfy.sh topic name |
| Type | Description |
|---|---|
| Multiple Choice | Single correct answer from a list of options |
| Multi-Select | Multiple correct answers (e.g. "Choose 3 correct answers") |
| Dropdown / Cloze | Fill-in-the-blank with dropdown menus |
| Free Write | Short answer — AI generates a text response |
| Drag and Drop | Item matching and sorting questions |
| Multi-Part | Gated questions that unlock sequentially |
| Videos | Skipped by boosting speed or seeking to end |
"Cannot reach debug port"
- Make sure Opera GX was launched with
--remote-debugging-port=9222 - Only one instance of Opera GX should be open
- Check that nothing is blocking port 9222 (firewall, antivirus)
"Ollama is not running"
- Start the Ollama application
- Confirm the model is downloaded:
ollama run deepseek-r1 - Verify it's accessible at
http://localhost:11434
"Could not find Edgenuity tab"
- Make sure an Edgenuity page is open and fully loaded in Opera GX
- Only one Edgenuity tab should be open
"Model warm-up failed"
- Confirm Ollama is running and the model exists
- Try running
ollama run deepseek-r1in a terminal first to test
Questions not detected
- Make sure you're on an active quiz or test page, not a lesson or summary
- Check the live log for selector errors — some newer page layouts may not be supported yet
- Local models (e.g.
deepseek-r1) are fastest and have no rate limits - Cloud models (e.g.
gpt-oss) tend to be more accurate but slower - Very low
STEP_DELAYvalues can cause missed elements —0.2is a safe minimum VIDEO_SPEED_MULTIPLIERvalues above 16x may not work on all videos
Read this section in full before using this tool.
Using this bot to complete Edgenuity assignments is academic dishonesty. Schools and districts have explicit policies against automated cheating tools. Potential consequences include:
- Failing grades on affected assignments or entire courses
- Suspension or expulsion depending on your institution's policies
- A permanent disciplinary record that can impact college admissions
- Being required to retake courses or losing credit entirely
Edgenuity's Terms of Service prohibit automated or non-human interactions with their platform. Using this tool may result in:
- Your account being flagged, suspended, or permanently banned
- Edgenuity notifying your school administration directly
- Detection via activity monitoring — abnormal answer speed, completion patterns, and browser automation signatures can all trigger alerts
- This script attaches to a live browser session that has full access to your Edgenuity account
- Your login credentials and student data are accessible to whatever is running the script
- Using untrusted forks or modified versions of this script could expose your account to theft
- Running automation software may trigger security alerts on school-managed devices or networks
- Completing graded assignments that affect your final grade
- Bypassing required learning content — videos, lessons, and assessments exist for a reason
- Gaining an unfair advantage over classmates
- Use on school-owned devices or school-monitored networks
If you choose to use this tool despite the risks above:
- Use it only on your own personal device and home network
- Never use it on high-stakes assignments (finals, credit-bearing assessments)
- Do not encourage others to cheat or share your results
- Understand the material yourself — this tool does not replace learning
- Accept full personal responsibility for any consequences
This bot is not perfect. The AI makes mistakes, and a string of suspiciously fast wrong-then-right answers can draw more attention than a student who simply struggled honestly. There is no guarantee of a passing score.
This project exists for educational and research purposes — to demonstrate browser automation with Selenium, local LLM integration via Ollama, and real-time GUI design with Tkinter. The author does not endorse or encourage academic dishonesty in any form.
Provided as-is with no warranty of any kind. By using this software you accept full responsibility for any consequences that result from its use.