Created
January 17, 2020 18:26
-
-
Save shivankgtm/b4e25e1d589a9da5894b21aea013883a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import time | |
from selenium import webdriver | |
import pandas as pd | |
#from webdriver_manager.chrome import ChromeDriverManager # Only required in Linux | |
from selenium.webdriver.support.ui import WebDriverWait | |
from selenium.webdriver.support import expected_conditions as EC | |
from selenium.webdriver.common.by import By | |
from selenium.common.exceptions import TimeoutException | |
data = pd.read_excel(r'data.xlsx') | |
#data.xlsx file name. replace with yours file name/ | |
for i in range(len(data)): | |
#driver = webdriver.Chrome(ChromeDriverManager().install()) # Linux | |
driver = webdriver.Chrome(executable_path = '') # Windows | |
driver.get('http://ntaresults.nic.in/resultservices/JEEMain-January-2020-auth') | |
# Registration Number being fetched from from.xlsx. | |
# Same with DOB | |
time.sleep(2) | |
reg_num = data['JEE(Jan2020) Application Num'][i] | |
driver.find_element_by_name('ctl00$ContentPlaceHolder1$txtRegNo').send_keys(str(reg_num)) | |
DOB = str(data['DOB(DD/MM/YYYY)'][i]) | |
DOB = DOB[:10].split('-') | |
print(DOB) | |
# DOB - Date | |
date = driver.find_element_by_name('ctl00$ContentPlaceHolder1$ddlday') | |
date.send_keys(DOB[2]) | |
# DOB-Month | |
db = {1: 'January (01)', 2:'February (02)', 3:'March (03)', 4:'April (04)', 5:'May (05)', 6:'June (06)', 7:'July (07)', 8:'August (08)', 9:'September (09)', 10:'October (10)', 11:'November (11)', 12:'December (12)'} | |
month = driver.find_element_by_name('ctl00$ContentPlaceHolder1$ddlmonth') | |
month.send_keys(db[(int(DOB[1]))]) | |
# DOB-Year | |
year = driver.find_element_by_name('ctl00$ContentPlaceHolder1$ddlyear') | |
year.send_keys(DOB[0]) | |
#CAPTCHA | |
#driver.find_element_by_name('ctl00$ContentPlaceHolder1$Secpin').send_keys('T6GH') | |
time.sleep(8) | |
driver.find_element_by_name('ctl00$ContentPlaceHolder1$Submit1').click() | |
time.sleep(5) | |
#ctl00_ContentPlaceHolder1_lblName | |
AID = driver.find_element_by_name('ctl00_ContentPlaceHolder1_lblAppno').text | |
Name = driver.find_element_by_name('ctl00_ContentPlaceHolder1_lblName').text | |
f_name = driver.find_element_by_name('ctl00_ContentPlaceHolder1_lblFname').text | |
cat = driver.find_element_by_name('ctl00_ContentPlaceHolder1_lblCategory').text | |
gender = driver.find_element_by_name('ctl00_ContentPlaceHolder1_lblGender').text | |
nation = driver.find_element_by_name('ctl00_ContentPlaceHolder1_lblNationality').text | |
phy = driver.find_element_by_name('ctl00_ContentPlaceHolder1_lblPaper1Physics').text | |
chem = driver.find_element_by_name('ctl00_ContentPlaceHolder1_lblPaper1Chemistry').text | |
mat = driver.find_element_by_name('ctl00_ContentPlaceHolder1_lblPaper1Math').text | |
total = driver.find_element_by_name('ctl00_ContentPlaceHolder1_lbltotalPaper1').text | |
print(total) | |
# try: | |
# # line waiting for Admit card link to be find. | |
# # If pdf link does not find for 15 seconds it will be TimeOut. | |
# myElem = WebDriverWait(driver, 15).until(EC.presence_of_element_located((By.ID, 'ctl00_LoginContent_lnkAdmitCard'))) | |
# z = driver.find_elements_by_id('ctl00_LoginContent_lnkAdmitCard') | |
# z[0].click() | |
# print(reg_num) | |
# time.sleep(2) | |
# driver.quit() | |
# # TimeOut can be of two reasons. | |
# # 1. Either the page is still loading. | |
# # 2. or Invalid registration number or captcha. | |
# except TimeoutException: | |
# try: | |
# | |
# # Following line will confirm if Reg_Num/DOB is invalid. | |
# myElem = WebDriverWait(driver, 2).until(EC.presence_of_element_located((By.ID, 'ctl00_ContentPlaceHolder1_lblerror1'))) | |
# print('Reg_Num or DOB is wrong', reg_num) | |
# # invalid_regis.txt is a file which will tackle invalid reg_number. | |
# invalid_reg_dob = open('invalid_regis.txt', 'a') | |
# invalid_reg_dob.write(str(reg_num)+'\n') | |
# invalid_reg_dob.close() | |
# driver.quit() | |
# | |
# except TimeoutException: | |
# print('Taking two long') | |
# driver.quit() | |
# | |
# #except: | |
# # print('Taking too long') | |
# # driver.quit() | |
# | |
driver.quit() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment