Advertisement
arvingarciaa

iellers

Jan 28th, 2020
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 22.21 KB | None | 0 0
  1. import time
  2. import unittest
  3. from selenium import webdriver
  4. from openpyxl import load_workbook
  5. from selenium.webdriver.common.by import By
  6. from selenium.webdriver.common.keys import Keys
  7. from selenium.webdriver.support import ui, expected_conditions
  8. from selenium.webdriver.support.wait import WebDriverWait
  9.  
  10. filepath = "/home/aj/Desktop/LORIELLE.xlsx"
  11. wb=load_workbook(filepath)
  12. sheet=wb.active
  13. rowCount = sheet.max_row
  14.  
  15. browser = webdriver.Chrome("/usr/lib/chromium-browser/chromedriver")
  16. browser.get('https://ischo.searcaapps.org')
  17.  
  18. user = browser.find_element_by_id('username')
  19. user.send_keys('lavm')
  20. password = browser.find_element_by_id('password')
  21. password.send_keys('lavm@1234')
  22. password.send_keys(Keys.ENTER)
  23.  
  24. browser.get('https://ischo.searcaapps.org/ischo/scholarship/?d=all&p=40&fr=2019&to=2021')
  25. for k in range(40, 61):
  26.     rowNum = len(browser.find_elements_by_xpath('/html/body/section/article/table/tbody/tr'))
  27.     for i in range(1, rowNum):
  28.         currentStatus = browser.find_element_by_xpath("//tr[" + str(i) + "]//td[13]").text
  29.         if currentStatus == 'Alumni':
  30.             currentName = browser.find_element_by_xpath("//tr[" + str(i) + "]//td[2]").text
  31.             browser.find_element_by_link_text(currentName).click()
  32.             browser.find_element_by_link_text('Edit').click()
  33.             for j in range(1, rowCount):
  34.                 if currentName == sheet.cell(row=j, column=6).value:
  35.                     currentRowExcel = j
  36.  
  37.             # DURATION START
  38.             if sheet.cell(row=currentRowExcel, column=28).value is None:
  39.                 browser.find_element_by_id('duration_from').send_keys(
  40.                     '06/01' + str(sheet.cell(row=currentRowExcel, column=27).value))
  41.             else:
  42.                 start_date = sheet.cell(row=currentRowExcel, column=28).value
  43.                 browser.find_element_by_id('duration_from').send_keys(
  44.                     str(start_date.strftime('%m')) + str(start_date.strftime('%d')) + str(start_date.year))
  45.  
  46.             # DURATION END
  47.             if sheet.cell(row=currentRowExcel, column=10).value is None:
  48.                 browser.find_element_by_id('duration_to').send_keys(
  49.                     '05/31' + str(sheet.cell(row=currentRowExcel, column=11).value))
  50.             else:
  51.                 end_date = sheet.cell(row=currentRowExcel, column=10).value
  52.                 browser.find_element_by_id('duration_to').send_keys(
  53.                     str(end_date.strftime('%m')) + str(end_date.strftime('%d')) + str(end_date.year))
  54.  
  55.             # DESIRED STUDY
  56.             checkboxes = browser.find_elements_by_name('university')
  57.             for checkbox in checkboxes:
  58.                 if checkbox.is_selected():  # If checkbox is ticked
  59.                     checkbox.click()  # to untick it
  60.  
  61.             if sheet.cell(row=currentRowExcel, column=16).value.lower() == 'uplb':
  62.                 browser.find_element_by_xpath("//input[@id='1']").click()
  63.             elif sheet.cell(row=currentRowExcel, column=16).value.lower() == 'ku':
  64.                 browser.find_element_by_xpath("//input[@id='2']").click()
  65.             elif sheet.cell(row=currentRowExcel, column=16).value.lower() == 'upm':
  66.                 browser.find_element_by_xpath("//input[@id='3']").click()
  67.             elif sheet.cell(row=currentRowExcel, column=16).value.lower() == 'ipb':
  68.                 browser.find_element_by_xpath("//input[@id='4']").click()
  69.             elif sheet.cell(row=currentRowExcel, column=16).value.lower() == 'ugm':
  70.                 browser.find_element_by_xpath("//input[@id='5']").click()
  71.             elif sheet.cell(row=currentRowExcel, column=16).value.lower() == 'ub':
  72.                 browser.find_element_by_xpath("//input[@id='6']").click()
  73.             else:
  74.                 browser.find_element_by_xpath(
  75.                     "/html[1]/body[1]/div[1]/form[1]/div[1]/div[5]/div[1]/div[7]/label[1]").click()
  76.                 browser.find_element_by_id('home_add').clear()
  77.                 browser.find_element_by_id('others').send_keys(sheet.cell(row=currentRowExcel, column=16).value)
  78.             # CLICK NEXT PAGE
  79.             browser.find_element_by_link_text('Next').click()
  80.             # LASTNAME
  81.             if sheet.cell(row=currentRowExcel, column=42).value is None:
  82.                 browser.find_element_by_xpath("/html[1]/body[1]/div[1]/form[1]/div[2]/div[1]/div[1]/input[1]").clear()
  83.                 browser.find_element_by_xpath("/html[1]/body[1]/div[1]/form[1]/div[2]/div[1]/div[1]/input[1]").send_keys(
  84.                     'N/A')
  85.             else:
  86.                 browser.find_element_by_xpath("/html[1]/body[1]/div[1]/form[1]/div[2]/div[1]/div[1]/input[1]").clear()
  87.                 browser.find_element_by_xpath("/html[1]/body[1]/div[1]/form[1]/div[2]/div[1]/div[1]/input[1]").send_keys(
  88.                     str(sheet.cell(row=currentRowExcel, column=42).value))
  89.             # FIRSTNAME
  90.             if sheet.cell(row=currentRowExcel, column=43).value is None:
  91.                 browser.find_element_by_xpath("/html[1]/body[1]/div[1]/form[1]/div[2]/div[1]/div[2]/input[1]").clear()
  92.                 browser.find_element_by_xpath("/html[1]/body[1]/div[1]/form[1]/div[2]/div[1]/div[2]/input[1]").send_keys(
  93.                     'N/A')
  94.             else:
  95.                 browser.find_element_by_xpath("/html[1]/body[1]/div[1]/form[1]/div[2]/div[1]/div[2]/input[1]").clear()
  96.                 browser.find_element_by_xpath("/html[1]/body[1]/div[1]/form[1]/div[2]/div[1]/div[2]/input[1]").send_keys(
  97.                     str(sheet.cell(row=currentRowExcel, column=43).value))
  98.             # HOMEADDRESS
  99.             if sheet.cell(row=currentRowExcel, column=44).value is None:
  100.                 browser.find_element_by_id('home_add').clear()
  101.                 browser.find_element_by_id('home_add').send_keys('N/A')
  102.             else:
  103.                 browser.find_element_by_id('home_add').clear()
  104.                 browser.find_element_by_id('home_add').send_keys(str(sheet.cell(row=currentRowExcel, column=44).value))
  105.             # HOMETELEPHONE
  106.             if sheet.cell(row=currentRowExcel, column=45).value is None:
  107.                 browser.find_element_by_id('home_tel').clear()
  108.                 browser.find_element_by_id('home_tel').send_keys('N/A')
  109.             else:
  110.                 browser.find_element_by_id('home_tel').clear()
  111.                 browser.find_element_by_id('home_tel').send_keys(str(sheet.cell(row=currentRowExcel, column=45).value))
  112.             # HOMEFAX
  113.             if sheet.cell(row=currentRowExcel, column=47).value is None:
  114.                 browser.find_element_by_id('home_fax').clear()
  115.                 browser.find_element_by_id('home_fax').send_keys('N/A')
  116.             else:
  117.                 browser.find_element_by_id('home_fax').clear()
  118.                 browser.find_element_by_id('home_fax').send_keys(str(sheet.cell(row=currentRowExcel, column=47).value))
  119.             # E-MAIL
  120.             if sheet.cell(row=currentRowExcel, column=46).value is None:
  121.                 browser.find_element_by_id('home_email').clear()
  122.                 browser.find_element_by_id('home_email').send_keys('N/A')
  123.             else:
  124.                 browser.find_element_by_id('home_email').clear()
  125.                 browser.find_element_by_id('home_email').send_keys(str(sheet.cell(row=currentRowExcel, column=46).value))
  126.             # EMPLOYER
  127.             if sheet.cell(row=currentRowExcel, column=21).value is None:
  128.                 browser.find_element_by_id('employer').clear()
  129.                 browser.find_element_by_id('employer').send_keys('N/A')
  130.             else:
  131.                 browser.find_element_by_id('employer').clear()
  132.                 browser.find_element_by_id('employer').send_keys(str(sheet.cell(row=currentRowExcel, column=21).value))
  133.             # EMPLOYERADDRESS
  134.             if sheet.cell(row=currentRowExcel, column=22).value is None:
  135.                 browser.find_element_by_id('employer_add').clear()
  136.                 browser.find_element_by_id('employer_add').send_keys('N/A')
  137.             else:
  138.                 browser.find_element_by_id('employer_add').clear()
  139.                 browser.find_element_by_id('employer_add').send_keys(str(sheet.cell(row=currentRowExcel, column=22).value))
  140.             # POBOX
  141.             if sheet.cell(row=currentRowExcel, column=23).value is None:
  142.                 browser.find_element_by_id('employer_po').clear()
  143.                 browser.find_element_by_id('employer_po').send_keys('N/A')
  144.             else:
  145.                 browser.find_element_by_id('employer_po').clear()
  146.                 browser.find_element_by_id('employer_po').send_keys(str(sheet.cell(row=currentRowExcel, column=23).value))
  147.             # TELNUM
  148.             if sheet.cell(row=currentRowExcel, column=24).value is None:
  149.                 browser.find_element_by_id('employer_tel').clear()
  150.                 browser.find_element_by_id('employer_tel').send_keys('N/A')
  151.             else:
  152.                 browser.find_element_by_id('employer_tel').clear()
  153.                 browser.find_element_by_id('employer_tel').send_keys(str(sheet.cell(row=currentRowExcel, column=24).value))
  154.             # FAXNO
  155.             if sheet.cell(row=currentRowExcel, column=25).value is None:
  156.                 browser.find_element_by_id('employer_fax').clear()
  157.                 browser.find_element_by_id('employer_fax').send_keys('N/A')
  158.             else:
  159.                 browser.find_element_by_id('employer_fax').clear()
  160.                 browser.find_element_by_id('employer_fax').send_keys(str(sheet.cell(row=currentRowExcel, column=25).value))
  161.             # EMAIL
  162.             if sheet.cell(row=currentRowExcel, column=26).value is None:
  163.                 browser.find_element_by_id('employer_email').clear()
  164.                 browser.find_element_by_id('employer_email').send_keys('N/A')
  165.             else:
  166.                 browser.find_element_by_id('employer_email').clear()
  167.                 browser.find_element_by_id('employer_email').send_keys(
  168.                     str(sheet.cell(row=currentRowExcel, column=26).value))
  169.             # BIRTHDATE
  170.             birthDate = sheet.cell(row=currentRowExcel, column=40).value
  171.             if birthDate is not None:
  172.                 browser.find_element_by_xpath(
  173.                     "/html[1]/body[1]/div[1]/form[1]/div[2]/div[3]/div[2]/div[7]/div[1]/input[1]").click()
  174.                 browser.find_element_by_xpath(
  175.                     "/html[1]/body[1]/div[1]/form[1]/div[2]/div[3]/div[2]/div[7]/div[1]/input[1]").send_keys(
  176.                     str(birthDate.strftime('%m')) + str(birthDate.strftime('%d')) + str(birthDate.year))
  177.             else:
  178.                 print("birthDate empty")
  179.             # RADIOBUTTONS
  180.  
  181.             civilStatus = sheet.cell(row=currentRowExcel, column=41).value
  182.             if civilStatus is not None:
  183.                 if sheet.cell(row=currentRowExcel, column=41).value.lower() == 'single':
  184.                     browser.find_element_by_xpath("//div[11]//div[1]//label[1]").click()
  185.                 elif sheet.cell(row=currentRowExcel, column=41).value.lower() == 'married':
  186.                     browser.find_element_by_xpath("//div[11]//div[1]//label[2]").click()
  187.                 elif sheet.cell(row=currentRowExcel, column=41).value.lower() == 'widower':
  188.                     browser.find_element_by_xpath(
  189.                         "/html[1]/body[1]/div[1]/form[1]/div[2]/div[3]/div[2]/div[11]/div[1]/label[3]").click()
  190.             else:
  191.                 print("civilStatus is empty")
  192.             # PLACEOFBIRTH
  193.             browser.find_element_by_id('birth_place').clear()
  194.             browser.find_element_by_id('birth_place').send_keys('N/A')
  195.  
  196.             # CONTACTPERSON
  197.             browser.find_element_by_id('contact_name').clear()
  198.             browser.find_element_by_id('contact_name').send_keys('N/A')
  199.  
  200.             # PASSPORTNUMBER
  201.             browser.find_element_by_id('passport').clear()
  202.             browser.find_element_by_id('passport').send_keys('N/A')
  203.  
  204.             # PLACEOFISSUE
  205.             browser.find_element_by_id('passport_place').clear()
  206.             browser.find_element_by_id('passport_place').send_keys('N/A')
  207.  
  208.             # CLICK NEXT PAGE
  209.             browser.find_element_by_link_text('Next').click()
  210.             import time
  211.  
  212.             time.sleep(5)
  213.             # NAMEOFCOLLEGE/UNIVERSITY
  214.             browser.find_element_by_name('college[]').clear()
  215.             browser.find_element_by_name('univcountry[]').clear()
  216.             collegeName = sheet.cell(row=currentRowExcel, column=16).value
  217.             if collegeName is not None:
  218.                 if collegeName.lower() == 'uplb':
  219.                     browser.find_element_by_name('college[]').send_keys('University of the Philippines Los Baños (UPLB)')
  220.                     browser.find_element_by_name('univcountry[]').send_keys('Philippines')
  221.                 elif collegeName.lower() == 'ku':
  222.                     browser.find_element_by_name('college[]').send_keys('Kasetsart University (KU)')
  223.                     browser.find_element_by_name('univcountry[]').send_keys('Thailand')
  224.                 elif collegeName.lower() == 'upm':
  225.                     browser.find_element_by_name('college[]').send_keys('Universiti Putra Malaysia (UPM)')
  226.                     browser.find_element_by_name('univcountry[]').send_keys('Malaysia')
  227.                 elif collegeName.lower() == 'ipb':
  228.                     browser.find_element_by_name('college[]').send_keys('Institut Pertanian Bogor (IPB)')
  229.                     browser.find_element_by_name('univcountry[]').send_keys('Indonesia')
  230.                 elif collegeName.lower() == 'ugm':
  231.                     browser.find_element_by_name('college[]').send_keys('Universitas Gadjah Mada (UGM)')
  232.                     browser.find_element_by_name('univcountry[]').send_keys('Indonesia')
  233.                 elif collegeName.lower() == 'ub':
  234.                     browser.find_element_by_name('college[]').send_keys('Universitas Brawijaya (UB)')
  235.                     browser.find_element_by_name('univcountry[]').send_keys('Indonesia')
  236.                 elif collegeName.lower() == 'clsu':
  237.                     browser.find_element_by_name('college[]').send_keys('Central Luzon State University (CLSU)')
  238.                     browser.find_element_by_name('univcountry[]').send_keys('Philippines')
  239.                 elif collegeName.lower() == 'tokyo-nodai':
  240.                     browser.find_element_by_name('college[]').send_keys('Tokyo-Nodai University')
  241.                     browser.find_element_by_name('univcountry[]').send_keys('Japan')
  242.                 elif collegeName.lower() == 'rac':
  243.                     browser.find_element_by_name('college[]').send_keys('Royal Agricultural University')
  244.                     browser.find_element_by_name('univcountry[]').send_keys('England')
  245.                 elif collegeName.lower() == 'asog':
  246.                     browser.find_element_by_name('college[]').send_keys('Ateneo de Manila University (ADMU)')
  247.                     browser.find_element_by_name('univcountry[]').send_keys('Philippines')
  248.                 elif collegeName.lower() == 'upv':
  249.                     browser.find_element_by_name('college[]').send_keys('University of the Philippines Visayas (UPV)')
  250.                     browser.find_element_by_name('univcountry[]').send_keys('Philippines')
  251.                 elif collegeName.lower() == 'unigott':
  252.                     browser.find_element_by_name('college[]').send_keys('University of Goettingen')
  253.                     browser.find_element_by_name('univcountry[]').send_keys('Germany')
  254.             else:
  255.                 print("collegeName is empty")
  256.             # DURATIONFROM
  257.             start_date = sheet.cell(row=currentRowExcel, column=28).value
  258.             browser.find_element_by_name('educ-from-date[]').clear()
  259.             browser.find_element_by_name('educ-to-date[]').clear()
  260.             if start_date is None:
  261.                 browser.find_element_by_name('educ-from-date[]').send_keys(
  262.                     str(sheet.cell(row=currentRowExcel, column=27).value))
  263.             else:
  264.                 browser.find_element_by_name('educ-from-date[]').send_keys(str(start_date.year))
  265.             # DURATIONTO
  266.             end_date = sheet.cell(row=currentRowExcel, column=10).value
  267.             if end_date is None:
  268.                 browser.find_element_by_name('educ-to-date[]').send_keys(
  269.                     str(sheet.cell(row=currentRowExcel, column=11).value))
  270.             else:
  271.                 browser.find_element_by_name('educ-to-date[]').send_keys(str(end_date.year))
  272.             # MAJORSUBJECT
  273.             majorSubject = sheet.cell(row=currentRowExcel, column=18).value
  274.             browser.find_element_by_name('majorsub[]').clear()
  275.             browser.find_element_by_name('majorsub[]').send_keys(str(majorSubject))
  276.             # DIPLOMA/DEGREE
  277.             browser.find_element_by_name('diploma[]').clear()
  278.             browser.find_element_by_name('diploma[]').send_keys(str(majorSubject))
  279.  
  280.             # OLDPOSITION
  281.             old_position = sheet.cell(row=currentRowExcel, column=32).value
  282.             if old_position is not None:
  283.                 browser.find_element_by_xpath("//a[@class='btn btn-default add-work']").click()
  284.                 browser.find_element_by_xpath(
  285.                     "/html[1]/body[1]/div[1]/form[1]/div[3]/div[1]/div[2]/div[2]/div[1]/div[2]/div[1]/input[1]").clear()
  286.                 browser.find_element_by_xpath(
  287.                     "/html[1]/body[1]/div[1]/form[1]/div[3]/div[1]/div[2]/div[2]/div[1]/div[2]/div[1]/input[1]").send_keys(
  288.                     str(old_position))
  289.             else:
  290.                 pass
  291.             # OLDCOMPANY
  292.             old_company = sheet.cell(row=currentRowExcel, column=33).value
  293.             if old_position is not None:
  294.                 browser.find_element_by_xpath("//form//div//div//div//div[2]//div[1]//div[2]//div[1]//input[1]").clear()
  295.                 if old_company is not None:
  296.                     browser.find_element_by_xpath(
  297.                         "//form//div//div//div//div[2]//div[1]//div[2]//div[1]//input[1]").send_keys(
  298.                         str(old_company))
  299.                 else:
  300.                     current_company = sheet.cell(row=currentRowExcel, column=21).value
  301.                     if current_company is None:
  302.                         browser.find_element_by_xpath(
  303.                             "//form//div//div//div//div[2]//div[1]//div[2]//div[1]//input[1]").send_keys(
  304.                             str('N/A'))
  305.                     else:
  306.                         browser.find_element_by_xpath(
  307.                             "//form//div//div//div//div[2]//div[1]//div[2]//div[1]//input[1]").send_keys(
  308.                             str(sheet.cell(row=currentRowExcel, column=21).value))
  309.             else:
  310.                 pass
  311.             # FROM-TO
  312.             if old_position is not None:
  313.                 browser.find_element_by_xpath(
  314.                     "/html[1]/body[1]/div[1]/form[1]/div[3]/div[1]/div[2]/div[1]/div[3]/div[1]/div[1]/input[1]").send_keys(
  315.                     str('2019'))
  316.                 browser.find_element_by_xpath(
  317.                     "/html[1]/body[1]/div[1]/form[1]/div[3]/div[1]/div[2]/div[1]/div[3]/div[1]/div[2]/input[1]").send_keys(
  318.                     '2019')
  319.  
  320.             # CURRENTPOSITION
  321.             current_position = sheet.cell(row=currentRowExcel, column=9).value
  322.             browser.find_element_by_xpath(
  323.                 "/html[1]/body[1]/div[1]/form[1]/div[3]/div[1]/div[2]/div[1]/div[1]/div[1]/input[2]").clear()
  324.             if current_position is not None:
  325.                 browser.find_element_by_xpath(
  326.                     "/html[1]/body[1]/div[1]/form[1]/div[3]/div[1]/div[2]/div[1]/div[1]/div[1]/input[2]").send_keys(
  327.                     str(current_position))
  328.             else:
  329.                 browser.find_element_by_xpath(
  330.                     "/html[1]/body[1]/div[1]/form[1]/div[3]/div[1]/div[2]/div[1]/div[1]/div[1]/input[2]").send_keys(
  331.                     str('N/A'))
  332.             # CURRENTCOMPANY
  333.             current_company = sheet.cell(row=currentRowExcel, column=21).value
  334.             browser.find_element_by_xpath(
  335.                 "/html[1]/body[1]/div[1]/form[1]/div[3]/div[1]/div[2]/div[1]/div[2]/div[1]/input[1]").clear()
  336.             if current_company is not None:
  337.                 browser.find_element_by_xpath(
  338.                     "/html[1]/body[1]/div[1]/form[1]/div[3]/div[1]/div[2]/div[1]/div[2]/div[1]/input[1]").send_keys(
  339.                     str(current_company))
  340.             else:
  341.                 browser.find_element_by_xpath(
  342.                     "/html[1]/body[1]/div[1]/form[1]/div[3]/div[1]/div[2]/div[1]/div[2]/div[1]/input[1]").send_keys(
  343.                     str('N/A'))
  344.             # FROMTO
  345.             browser.find_element_by_xpath(
  346.                 "/html[1]/body[1]/div[1]/form[1]/div[3]/div[1]/div[2]/div[1]/div[3]/div[1]/div[1]/input[1]").send_keys(
  347.                 str('2019'))
  348.             browser.find_element_by_xpath(
  349.                 "/html[1]/body[1]/div[1]/form[1]/div[3]/div[1]/div[2]/div[1]/div[3]/div[1]/div[2]/input[1]").send_keys(
  350.                 str('2019'))
  351.             # DESCRIPTIONOFMOSTRECENTJOB
  352.             browser.find_element_by_id('job_desc').clear()
  353.             if sheet.cell(row=currentRowExcel, column=20).value is not None:
  354.                 browser.find_element_by_id('job_desc').send_keys(
  355.                     str('works at the' + (sheet.cell(row=currentRowExcel, column=20).value)))
  356.             else:
  357.                 browser.find_element_by_id('job_desc').send_keys(str('N/A'))
  358.             # DESCRIPTIONOFMAJORAREAOFINTEREST
  359.             browser.find_element_by_id('area_interest').clear()
  360.             if sheet.cell(row=currentRowExcel, column=57).value is not None:
  361.                 browser.find_element_by_id('area_interest').send_keys(str(sheet.cell(row=currentRowExcel, column=57).value))
  362.             else:
  363.                 pass
  364.             # RESEARCHCARRIEDOUT
  365.             browser.find_element_by_name('research[]').clear()
  366.             if sheet.cell(row=currentRowExcel, column=35).value is not None:
  367.                 browser.find_element_by_name('research[]').send_keys(str(sheet.cell(row=currentRowExcel, column=35).value))
  368.             else:
  369.                 pass
  370.             browser.find_element_by_link_text('Next').click()
  371.             browser.get('https://ischo.searcaapps.org/ischo/scholarship/?d=all&p='+str(k)+'&fr=2019&to=2021')
  372.     else:
  373.         print(str(i) + ' not alumni')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement