DriversEd.com Auto Progress Bookmarklet
DriversEd Auto-Progress Script
This script helps automatically progress through pages on driversed.com by monitoring the “Next” button and clicking it as soon as the timer allows it.
There are three versions included:
- Bookmarklet – Clickable from your bookmarks bar.
- Console Script – Paste into the browser console.
- Userscript – For use with a userscript manager like Tampermonkey or ScriptCat.
The first two versions observe the timer and automatically click the “Next” button when enabled. These, due to limitations of bookmarklets and the console, don’t work after the first “click” to the next page.
The userscript version however, runs continuously and will keep clicking the “Next” button as long as the page is open.
Usage
Bookmarklet
javascript:(function(){const w=()=>{const b=document.getElementById('arrow-next');if(!b)return console.warn('Next button not found.');const o=new MutationObserver(()=>{if(!b.disabled){console.log('Next button enabled! Clicking now...');b.click();o.disconnect();r();}});o.observe(b,{attributes:true,attributeFilter:['disabled']});console.log('Waiting for button to be enabled...');const s=document.createElement('button');s.textContent='Stop Auto-Next';s.style.position='fixed';s.style.bottom='20px';s.style.right='20px';s.style.zIndex=10000;s.style.background='#ff4d4d';s.style.color='#fff';s.style.border='none';s.style.padding='10px 14px';s.style.borderRadius='6px';s.style.cursor='pointer';s.style.fontSize='14px';s.style.boxShadow='0 2px 6px rgba(0,0,0,0.2)';s.id='stop-auto-next';s.onclick=()=>{o.disconnect();console.log('Auto-clicker stopped manually.');r();};document.body.appendChild(s);function r(){const e=document.getElementById('stop-auto-next');if(e)e.remove();}};w();})();
- Copy the minified code from above.
- Create a new bookmark.
- Paste the code into the bookmark’s URL field.
- While on a DriversEd page, click the bookmark.
A red “Stop Auto-Next” button will appear in the bottom-right corner.
Clicking it stops the auto-clicker and removes the button from the screen.
Console Script
(function(){
const waitAndClickNext = () => {
const btn = document.getElementById('arrow-next');
if (!btn) return console.warn('Next button not found.');
const observer = new MutationObserver(() => {
if (!btn.disabled) {
console.log('Next button enabled! Clicking now...');
btn.click();
observer.disconnect();
removeStopButton();
}
});
observer.observe(btn, { attributes: true, attributeFilter: ['disabled'] });
console.log('Waiting for button to be enabled...');
// Create Stop button
const stopBtn = document.createElement('button');
stopBtn.textContent = 'Stop Auto-Next';
stopBtn.style.position = 'fixed';
stopBtn.style.bottom = '20px';
stopBtn.style.right = '20px';
stopBtn.style.zIndex = 10000;
stopBtn.style.background = '#ff4d4d';
stopBtn.style.color = '#fff';
stopBtn.style.border = 'none';
stopBtn.style.padding = '10px 14px';
stopBtn.style.borderRadius = '6px';
stopBtn.style.cursor = 'pointer';
stopBtn.style.fontSize = '14px';
stopBtn.style.boxShadow = '0 2px 6px rgba(0,0,0,0.2)';
stopBtn.id = 'stop-auto-next';
stopBtn.onclick = () => {
observer.disconnect();
console.log('Auto-clicker stopped manually.');
removeStopButton();
};
document.body.appendChild(stopBtn);
function removeStopButton() {
const existing = document.getElementById('stop-auto-next');
if (existing) existing.remove();
}
};
waitAndClickNext();
})();
Paste the above code into your browser’s developer console and press Enter.
It adds the same Stop button and functionality as the bookmarklet.
Userscript
// ==UserScript==
// @name DriversEd Auto-Next with Stop Button
// @namespace https://driversed.com/
// @version 1.0.1
// @description Auto-click the "Next" button when timer ends, with a Stop button to cancel auto-clicking.
// @author NellowTCS
// @match https://app.driversed.com/*
// @grant none
// @run-at document-idle
// @license MIT
// ==/UserScript==
(function () {
'use strict';
function waitAndClickNext() {
const btn = document.getElementById('arrow-next');
if (!btn) {
console.warn('Next button not found, retrying...');
setTimeout(waitAndClickNext, 500);
return;
}
const observer = new MutationObserver(() => {
if (!btn.disabled) {
console.log('Next button enabled! Clicking now...');
btn.click();
observer.disconnect();
removeStopButton();
}
});
observer.observe(btn, { attributes: true, attributeFilter: ['disabled'] });
console.log('Waiting for button to be enabled...');
if (!document.getElementById('stop-auto-next')) {
const stopBtn = document.createElement('button');
stopBtn.id = 'stop-auto-next';
stopBtn.textContent = 'Stop Auto-Next';
stopBtn.style.position = 'fixed';
stopBtn.style.bottom = '20px';
stopBtn.style.right = '20px';
stopBtn.style.zIndex = 10000;
stopBtn.style.background = '#ff4d4d';
stopBtn.style.color = '#fff';
stopBtn.style.border = 'none';
stopBtn.style.padding = '10px 14px';
stopBtn.style.borderRadius = '6px';
stopBtn.style.cursor = 'pointer';
stopBtn.style.fontSize = '14px';
stopBtn.style.boxShadow = '0 2px 6px rgba(0,0,0,0.2)';
stopBtn.onclick = () => {
observer.disconnect();
console.log('Auto-clicker stopped manually.');
removeStopButton();
};
document.body.appendChild(stopBtn);
}
function removeStopButton() {
const existing = document.getElementById('stop-auto-next');
if (existing) existing.remove();
}
}
waitAndClickNext();
})();
The script is also on GreasyFork: DriversEd Auto-Next with Stop Button
Install this script using a userscript manager like Tampermonkey or ScriptCat.
Important Notes
This script is not meant to be used to skip content.
You should:
- Read through each section.
- Let the timer run down fully.
- Use the script to smooth the experience — not bypass it.
Driver’s Ed exists for a reason. Be responsible.
Disclaimer
This tool is unofficial and provided as-is.
Use it at your own discretion. Behavior may change if the site updates.