Advertisement
Guest User

Untitled

a guest
May 4th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.86 KB | None | 0 0
  1. #!/usr/bin/python2.4
  2. # -*- coding: utf-8 -*-
  3. import datetime
  4. import time
  5. from selenium import webdriver
  6. from selenium.webdriver.common.keys import Keys
  7.  
  8. driver = webdriver.Chrome()
  9.  
  10. #Vilken sida drivern ska ta oss till
  11. driver.get("https://se.timeedit.net/web/liu/db1/wr_stud/")
  12.  
  13. #Se till att det står TimeEdit i titeln, för att säkerställa att navigationen har gått rätt till
  14. assert "TimeEdit" in driver.title
  15.  
  16. #Klickar logga in när drivern tagit oss till timeedits-bokningssystem
  17. loginTimeEdit = driver.find_element_by_xpath('/html/body/div[2]/div/table/tbody/tr/td/div/form/div/a[1]')
  18. loginTimeEdit.click()
  19.  
  20. #Fyller i användarnamn på LISAM LIU
  21. #loginLisamUsername = driver.find_element_by_id('userNameInput')
  22. loginLisamUsername = driver.find_element_by_xpath('//*[@id="userNameInput"]')
  23. loginLisamUsername.send_keys("")
  24.  
  25. #Fyller i lösenord på LISAM LIU
  26. #loginLisamPassword = driver.find_element_by_id('passwordInput')
  27. loginLisamPassword = driver.find_element_by_xpath('//*[@id="passwordInput"]')
  28. loginLisamPassword.send_keys("")
  29.  
  30. #Loggar in på LISAM LIU
  31. #loginLisamClick = driver.find_element_by_id('submitButton')
  32. loginLisamClick = driver.find_element_by_xpath('//*[@id="submitButton"]')
  33. loginLisamClick.click()
  34.  
  35. #Väljer studentbokning på LIUS hemsida
  36. chooseStudentBokning = driver.find_element_by_xpath('//*[@id="contents"]/div[3]/div/div[1]/a[1]/div/span[1]/span')
  37. chooseStudentBokning.click()
  38.  
  39. #Behöver en funktion som adderar en dag på den aktuella dagen, och den dagen ska sedan väljas
  40. #de två sista teckena i det nya datumet ska sedan jämföras med Tidsschemat nedanför och sedan välja
  41. #just den spalten. Detta för att sedan trycka på 10-14 i just den dagen och sen klicka okej.
  42.  
  43. tomorrow_date = (datetime.datetime.now() + datetime.timedelta(days=1)) #datetime.datetime
  44. tomorrow_year = str(tomorrow_date.year) #int
  45. tomorrow_month = tomorrow_date.month #int
  46. tomorrow_day = tomorrow_date.day #int
  47. if tomorrow_month < 10:
  48. tomorrow_month = "0"+str(tomorrow_month)
  49. else:
  50. tomorrow_month = str(tomorrow_month)
  51.  
  52. if tomorrow_day < 10:
  53. tomorrow_day = "0"+str(tomorrow_day)
  54. else:
  55. tomorrow_day = str(tomorrow_day)
  56.  
  57. date_button = driver.find_element_by_xpath('//*[@id="leftresdate"]')
  58. date_button.clear()
  59. date_button.click()
  60. date_button.send_keys(str(tomorrow_year) + "-" + str(tomorrow_month) + "-" + str(tomorrow_day))
  61.  
  62. chooseOnlyAvailable = driver.find_element_by_xpath('//*[@id="timeHourSpec3"]')
  63. chooseOnlyAvailable.click()
  64.  
  65. #Tar fram tiden 10
  66. chooseStart = driver.find_element_by_xpath('//*[@id="contents"]/div[2]/table/tbody/tr/td[3]/div/select[1]/option[4]')
  67. chooseStart.click()
  68.  
  69. #Tar fram tiden 14
  70. chooseEnd = driver.find_element_by_xpath('//*[@id="contents"]/div[2]/table/tbody/tr/td[4]/div/select[1]/option[8]')
  71. chooseEnd.click()
  72.  
  73. #Trycker på RUM AG21
  74. chooseAG21 = driver.find_element_by_xpath('//*[@id="objectselectionresult"]/table/tbody/tr[2]/td[2]')
  75. chooseAG21.click()
  76.  
  77. #Klicka på klockan 10 i schemat
  78. #chooseTimeStartRoom = driver.find_element_by_xpath('')
  79. #chooseTimeStartRoom.click()
  80.  
  81. #<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  82. #Härifrån kan du läsa Jens. Jag fattar inte om jag har gjort rätt.
  83. #Men jag försökte att skapa en likadan funktion som dig där uppe fast utan 0 innan om det är mindre än 10 för det är inte nödvändigt enligt mig.
  84. #den konverterar sedan till string och lägger ihop dom, hoppas att det blev rätt.
  85.  
  86. #tror dessa tre kommande rader ska fungera...
  87. chooseNextTomorrow_date = (datetime.datetime.now() + datetime.timedelta(days=1))
  88. chooseNextDay = chooseNextTomorrow_date.day
  89. chooseNextMonth = chooseNextTomorrow_date.month
  90.  
  91. str(chooseNextDay) #Konvertera int to String
  92. str(chooseNextMonth) #Konvertera int to string
  93.  
  94. #commit = chooseNextDay + chooseNextMonth
  95.  
  96. nextDay = chooseNextDay
  97. nextMonth = chooseNextMonth
  98.  
  99. NextDayInTable = "%s/%s"%(nextDay,nextMonth)
  100.  
  101. print NextDayInTable
  102.  
  103. #Skriver äntligen ut nästa dag, hatar formatering i python fyfan vad krångligt.
  104.  
  105. #print chooseNextDay
  106. #print chooseNextMonth
  107.  
  108. #print commit
  109.  
  110. #HÄR BEHÖVER JAG SKRIVA EN FUNKTION SOM TAR COMPARE STRÄNGEN OCH
  111. #jämför den med alla strings eller text på hemsidan för att matcha rätt div.
  112.  
  113. # 1. Behöver en funktion som tar värdena från date tomorrow_month
  114. # och tomorrow day minusar 0 i början om det är mindre än 10.
  115.  
  116. # 2. Denna tar sedan värdet i month och värdet i day och sätter ihop båda delarna til en ny string.
  117. # alltså 2018-05-05 skulle se ut såhär, 5/5.
  118. # detta skall sedan jämföras med vilken string som helst på sidan och förhoppningsvis hitta rätt dag alltså nästa dag
  119.  
  120. # 3. Gör en funktion som jämför den nya stringen compare med alla strings på hemsidan för att matcha rätt DIV (alltså rätt dag)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement