clockevents.py automates the entire process of logging into a UNLV Workday account by going through the authentication steps using Selenium
By navigating through eleven clicks and inputting necessary user credentials to successfully clock in, clock out, and log meals
Cutting down on the hassle of doing it manually, this script saves me about 15 minutes a week
#Program is now at the portal with clickable images #Waits until page fully loads all elements using WebDriverWait. element = WebDriverWait(driver, 10).until( EC.element_to_be_clickable((By.XPATH, '//*[@id="selection"]/ul/li[7]/a/img')) ) #Program clicks on UNLV Image element.click() #Program is at the sign in portal #Input ACE ID: element = WebDriverWait(driver,10).until( EC.element_to_be_clickable((By.ID, 'input28')) ) #Inputting USERNAME and PASSWORD element.send_keys(USER) #Searching for password box element = driver.find_element(By.ID, 'input36') #Inputing password element.send_keys(PASSWORD)
Oftentimes elements that are incorporated with JavaScript are difficult for Selenium to locate, and an XPATH needs to be found, rather than locating by ID, which is computationally more efficient
Due to JavaScript being present in almost all portals, disabling JavaScript is not an option -- which would make this program faster
This project is still in the works. Planned features include creating a menu for specific clock events and exploring pulling data from the Workday platform, such as total hours worked.