def LoginApp(): # Define the log in user name and password Username = "******" Password = "******" #Use driver to open file chromedriver.exe driver = webdriver.Chrome("C:\\Users\\ShiyuF\\Python36\\chromedriver.exe") #Open the website driver.get("https://opensource-demo.orangehrmlive.com/") driver.maximize_window() #Input user name usernameField = driver.find_element_by_id("txtUsername") CommonFunctions.clickElement(usernameField) usernameField.send_keys(Username) time.sleep(1) #Input password passwordField = driver.find_element_by_id("txtPassword") CommonFunctions.highlight(passwordField) passwordField.send_keys(Password) time.sleep(1) #Click log in button loginButton = driver.find_element_by_id("btnLogin") CommonFunctions.highlight(loginButton) CommonFunctions.clickElement(loginButton) return driver
def extractUsersInfo(): driver = NavigateAndLogin.LoginApp() wk = openpyxl.Workbook() sh = wk.active sh.title = "User Information" sh['A1'] = 'Username' sh['A1'].font = Font(bold=True) sh['B1'] = 'User Role' sh['B1'].font = Font(bold=True) sh['C1'] = 'Employee Name' sh['C1'].font = Font(bold=True) sh['D1'] = 'Status' sh['D1'].font = Font(bold=True) admin_menu = driver.find_element_by_xpath("//*[@id='menu_admin_viewAdminModule']") CommonFunctions.clickElement(admin_menu) row_count = len(driver.find_elements_by_xpath("//*[@id='resultTable']/tbody/tr")) print(row_count) for i in range(1, row_count+1): username_column = driver.find_element_by_xpath("//*[@id='resultTable']/tbody/tr["+ str(i) +"]/td[2]/a") username = username_column.text print(username) sh['A'+str(i+1)].value = username for j in range(1,row_count+1): user_role_column = driver.find_element_by_xpath("//*[@id='resultTable']/tbody/tr["+ str(j) +"]/td[3]") user_role = user_role_column.text print(user_role) sh['B'+str(j+1)].value = user_role for k in range(1,row_count+1): employee_name_column = driver.find_element_by_xpath("//*[@id='resultTable']/tbody/tr["+ str(k) +"]/td[4]") employee_name = employee_name_column.text print(employee_name) sh['C'+str(k+1)].value = employee_name for l in range(1,row_count+1): status_column = driver.find_element_by_xpath("//*[@id='resultTable']/tbody/tr["+ str(l) +"]/td[5]") status = status_column.text print(status) sh['D'+ str(l+1)].value = status driver.execute_script("window.scrollTo(0, 500)") driver.get_screenshot_as_file('C:\\Users\\sachi\\Downloads\\Screenshot.png') wk.save("C:\\Users\\sachi\\Downloads\\Script Programming - Python\\User Info.xlsx") Logout.logout(driver)
def logout(self): #driver = webdriver.Chrome("C:\\Users\\sachi\\Downloads\\chromedriver_win32\\chromedriver.exe") dashboardModule = self.find_element_by_id("menu_dashboard_index") CommonFunctions.clickElement(dashboardModule) welcomeAdmin_button = self.find_element_by_id("welcome") CommonFunctions.clickElement(welcomeAdmin_button) logoutButton = self.find_element_by_xpath( "//*[@id='welcome-menu']/ul/li[2]/a") CommonFunctions.clickElement(logoutButton) time.sleep(3) self.close()
def addEmployee(): driver = NavigateAndLogin.LoginApp() # Click on PIM Module pim_module = driver.find_element_by_id("menu_pim_viewPimModule") CommonFunctions.clickElement(pim_module) # Click on Add Employee Button add_employee = driver.find_element_by_id("menu_pim_addEmployee") CommonFunctions.clickElement(add_employee) # Enter First Name in FirstName Field firstname_field = driver.find_element_by_id("firstName") CommonFunctions.clickElement(firstname_field) firstname_field.send_keys("Sample") # Enter Last Name in LastName Field lastname_field = driver.find_element_by_id("lastName") CommonFunctions.clickElement(lastname_field) lastname_field.send_keys("User") # Enter Employee ID employeeid_field = driver.find_element_by_id("employeeId") CommonFunctions.clickElement(employeeid_field) employeeid_field.send_keys("007") # Upload Image browse_button = driver.find_element_by_id("photofile") CommonFunctions.clickElement(browse_button) os.system(r"C:\\Users\\ShiyuF\\Desktop\\upfile.exe") employeesave_button = driver.find_element_by_id("btnSave") CommonFunctions.clickElement(employeesave_button) time.sleep(10) Logout.logout(driver)