soncizgi
Aktif Üye
- Mesajlar
- 166
Arkadaşlar Lgs 2021 yerleştirme sonuçlarını python selenium kullanarak yapmaya çalıştım. Kaynak kodlarını dosyaya ekledim. Yalnız sorgulama sayfasında çıkan güvenlik kodunu elle yazıp sorgulama butonuna basmak gerekiyor. Onun dışında diğer bilgileri Excel dosyasından alıp kendisi dolduruyor. Excel dosyanızda ise öğrencilerin tc ve doğum tarihi gün ay yıl şeklinde olması gerekiyor. Sonuçları ise excel dosyasına hemen ekliyor. Excel şablonuda kaynak kod ile birlikte dosya olarak ekte sundum. Umarım işinize yarar. Kolay gelsin.
Kod:
from selenium import webdriver
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
import time
import openpyxl
book = openpyxl.load_workbook('lgs.xlsx')
#Eleman kontrol
def kontrol_xpath(Driver: webdriver,xpath):
try:
Driver.find_element_by_xpath(xpath)
except NoSuchElementException:
return False
return True
browser=webdriver.Firefox(executable_path=r'C:\Users\EFA\Desktop\geckodriver.exe')
browser.get("https://www.meb.gov.tr/sinavlar/sonuc/sorgu.php?SINAV_ID=F6374C105BB75028AB6270A9EEE255F4")
sheet1 = book['Bilgiler']
sheet2 = book['Okullar']
for x in range(2,75):
time.sleep(1)
tc=browser.find_element_by_name('ADAY_NO')
tc.send_keys(sheet1['D'+str(x)].value)
gun= Select(browser.find_element_by_xpath('/html/body/div/form/table/tbody/tr[2]/td/select[1]'))
gun.select_by_visible_text(sheet1['E'+str(x)].value)
ay= Select(browser.find_element_by_xpath('/html/body/div/form/table/tbody/tr[2]/td/select[2]'))
ay.select_by_visible_text(sheet1['F'+str(x)].value)
yil= Select(browser.find_element_by_xpath('/html/body/div/form/table/tbody/tr[2]/td/select[3]'))
yil.select_by_visible_text(sheet1['G'+str(x)].value)
time.sleep(8)
#girisYap=browser.find_element_by_xpath('/html/body/div/form/table/tbody/tr[4]/td/input')
#girisYap.click()
if kontrol_xpath(browser,'//*[@id="hata"]'):
msj=browser.find_element_by_xpath('//*[@id="hata"]').text
print(msj)
while msj=='Güvenlik Kodunu yanlış girdiniz!':
print('Güvenlik kodunu 8sn içinde düzeltin')
tc=browser.find_element_by_name('ADAY_NO')
tc.send_keys(sheet1['D'+str(x)].value)
gun= Select(browser.find_element_by_xpath('/html/body/div/form/table/tbody/tr[2]/td/select[1]'))
gun.select_by_visible_text(sheet1['E'+str(x)].value)
ay= Select(browser.find_element_by_xpath('/html/body/div/form/table/tbody/tr[2]/td/select[2]'))
ay.select_by_visible_text(sheet1['F'+str(x)].value)
yil= Select(browser.find_element_by_xpath('/html/body/div/form/table/tbody/tr[2]/td/select[3]'))
yil.select_by_visible_text(sheet1['G'+str(x)].value)
time.sleep(8)
#girisYap=browser.find_element_by_xpath('/html/body/div/form/table/tbody/tr[4]/td/input')
#girisYap.click()
if kontrol_xpath(browser,'//*[@id="hata"]'):
msj=browser.find_element_by_xpath('//*[@id="hata"]').text
else:
msj=''
if kontrol_xpath(browser,'/html/body/div/div[3]/table[3]/tbody/tr[2]/td'):
okul=browser.find_element_by_xpath('/html/body/div/div[3]/table[3]/tbody/tr[2]/td').text
print(okul)
sheet2['C'+str(x)].value=okul
book.save('lgs.xlsx')
girisYap=browser.find_element_by_xpath('/html/body/div/div[6]/a')
girisYap.click()
elif kontrol_xpath(browser,'/html/body/div/div[3]/table[2]/tbody/tr[2]/td'):
okul=browser.find_element_by_xpath('/html/body/div/div[3]/table[2]/tbody/tr[2]/td').text
print(okul)
sheet2['C'+str(x)].value=okul
book.save('lgs.xlsx')
girisYap=browser.find_element_by_xpath('/html/body/div/div[6]/a')
girisYap.click()
else:
print('Bilgi yok')
#book.save('gun-ay.xlsx')