Advertisement
Guest User

main.python

a guest
May 5th, 2017
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.58 KB | None | 0 0
  1. from selenium import webdriver
  2. from selenium.webdriver.common.keys import Keys
  3. import time
  4. import SSCMail
  5.  
  6. server = SSCMail.initializeEmail()
  7.  
  8. browser = webdriver.PhantomJS()
  9. # action_chains = ActionChains(browser)
  10. browser.implicitly_wait(1)
  11. browser.get('https://ssc.adm.ubc.ca/sscportal/servlets/SRVAcademicRecord?context=html')
  12.  
  13. username = browser.find_element_by_id("username")
  14. password = browser.find_element_by_id("password")
  15.  
  16. username.send_keys('totallylegitusername')
  17. password.send_keys('hahahahahano', Keys.ENTER)
  18.  
  19. time.sleep(2)
  20.  
  21.  
  22. classesToCheck = ['APSC101', 'PHYS158', 'PHYS170','MATH101']
  23. length = 28
  24. while(len(classesToCheck)>0):
  25. browser.refresh()
  26. time.sleep(2)
  27. _2016W = browser.find_elements_by_xpath("//a[@id='ui-id-3']")
  28.  
  29. # Gotta reaaaally make sure we clicked it
  30. if(len(_2016W)):
  31. _2016W[0].click()
  32. _2016W[0].click()
  33. _2016W[0].click()
  34. _2016W[0].click()
  35. _2016W[0].click()
  36. else:
  37. usernameL = browser.find_elements_by_id("username")
  38. passwordL = browser.find_elements_by_id("password")
  39. if len(usernameL) and len(passwordL):
  40. usernameL[0].send_keys('cjasper')
  41. passwordL[0].send_keys('A\/\/esomesauce515', Keys.ENTER)
  42.  
  43. time.sleep(2)
  44. else:
  45. print("Element not found, is SSC down?")
  46. continue
  47.  
  48. newCourse = 0
  49. row = 6
  50. courseList = []
  51. marksList = []
  52. averageList = []
  53. while(row < 12):
  54. out = browser.find_element_by_xpath("//tr[@id='row-2016W-" + str(row) + "']").text
  55. split = out.split()
  56.  
  57. courseName = split[1] + split[2]
  58. mark = split[5]
  59. if(len(split)>=9):
  60. average = split[8]
  61. else:
  62. average = '0'
  63.  
  64.  
  65. if(mark=='0'):
  66. print("Marks are not out for " + courseName)
  67. else:
  68. if(courseName in classesToCheck):
  69. newCourse = 1
  70. classesToCheck.remove(courseName)
  71. courseName = courseName + '!'
  72. print("New mark out!")
  73.  
  74. print("You got " + mark + " for " + courseName)
  75.  
  76. courseList.append(courseName)
  77. marksList.append(mark)
  78. averageList.append(average)
  79.  
  80. row += 1
  81.  
  82. if(newCourse == 1):
  83. newCourse = 0
  84. message = "Course Mark Average"
  85. for course, mark, average in zip(courseList,marksList,averageList):
  86. message = message + "\n" + course + " " + mark + " " + average
  87.  
  88. SSCMail.sendEmail(server, message)
  89.  
  90. browser.save_screenshot('final.png')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement