DVSA Booking Macro

Brings you to the available slots ASAP.

  1. // ==UserScript==
  2. // @name DVSA Booking Macro
  3. // @description Brings you to the available slots ASAP.
  4. // @match https://driverpracticaltest.dvsa.gov.uk/*
  5. // @grant none
  6. // @version 1.0
  7. // @author onlypuppy7
  8. // @namespace https://greatest.deepsurf.us/users/1083183
  9. // ==/UserScript==
  10.  
  11. if (location.pathname == "/login" && document.getElementById("driving-licence-number")) {
  12. let licenseNumber = localStorage.getItem("licenseNumber");
  13. if (!licenseNumber) {
  14. licenseNumber = prompt("enter license number");
  15. localStorage.setItem("licenseNumber", licenseNumber);
  16. };
  17. let referenceNumber = localStorage.getItem("referenceNumber");
  18. if (!referenceNumber) {
  19. referenceNumber = prompt("enter reference number");
  20. localStorage.setItem("referenceNumber", referenceNumber);
  21. };
  22.  
  23. document.getElementById("driving-licence-number").value = licenseNumber;
  24. document.getElementById("application-reference-number").value = referenceNumber;
  25. document.getElementById("booking-login").click();
  26. } else if (location.pathname == "/manage") {
  27. if (location.search == "?execution=e1s1") {
  28. document.getElementById("date-time-change").click();
  29. } else if (document.getElementById("test-choice-earliest")) {
  30. document.getElementById("test-choice-earliest").click();
  31. document.getElementById("driving-licence-submit").click();
  32. } else if (document.getElementsByClassName("BookingCalendar-date--bookable")) {
  33. document.getElementsByClassName("BookingCalendar-date--bookable")[0].children[0].children[0].click();
  34. };
  35. };