#Excel dosyasını okumak için kullandığımızı kütüphane
import openpyxl
#Selenium Browser kütüphanesini ekleyelim
from selenium import webdriver
#Zaman işlemleri için "time" kütüphanesini ekleyelim.
import time
#Eleman kontrol fonksiyonu 120 saniye boyunca kontrol eder
def FindElem(Driver: webdriver, XPath: str, Timeout: int = 60):
while Timeout > 0:
try:
return Driver.find_element_by_xpath(XPath)
except: # if element isn't already loaded or doesn't exist
time.sleep(1)
Timeout -= 1
raise RuntimeError(f"Page loading timeout")
book = openpyxl.load_workbook('dosyalar/telefonlar.xlsx')
#Sayfa adı "Sayfa1" olan excel dosyasını seçelim
sheet1 = book['Sayfa1']
#Toplam satır sayısını bulalım
toplam=sheet1.max_row
#for x in range(2,toplam+1):
# print('Okul No: '+str(sheet1['A'+str(x)].value)+', Ad Soyad: '+sheet1['B'+str(x)].value+', Anne Cep: '+str(sheet1['C'+str(x)].value)+', Baba Cep: '+str(sheet1['C'+str(x)].value))
browser=webdriver.Firefox(executable_path=r'C:\Users\EFA\Desktop\geckodriver.exe')
browser.get("https://e-okul.meb.gov.tr/")
giris=browser.find_element_by_xpath('//*[@data-target="#LoginModalKurum"]')
giris.click()
time.sleep(5)
user=browser.find_element_by_name('txtKullaniciAd')
sifre=browser.find_element_by_name('txtSifre')
#Kullanıcı adımızı ve şifremizi girelim
user.send_keys('xxxxxxx')
sifre.send_keys('xxxxxxxx')
girisYap=browser.find_element_by_xpath('//*[@id="btnEokulGiris"]')
girisYap.click()
Ogrenci=FindElem(browser,'/html/body/form/nav/div/div/ul[1]/li[3]/a/span[2]')
Ogrenci.click()
sayi=1;
#Şimdi excel dosyasındaki öğrenci no larını aratıp tek tek veli telefonlarının eklenmesini bekleyelim.
for x in range(2,toplam+1):
okulno=browser.find_element_by_id('OGRMenu1_txtTC')
okulno.send_keys(str(sheet1['A'+str(x)].value))
ara=FindElem(browser,'//*[@id="OGRMenu1_btnAra"]')
ara.click()
anne=FindElem(browser,'/html/body/form[2]/table/tbody/tr[3]/td[1]/div/div/table/tbody/tr[5]/td/table/tbody/tr[2]/td/table[2]/tbody/tr[6]/td')
anne.click()
time.sleep(2)
#Anne telefon bilgisi girelim
browser.find_element_by_id('txtTelCep').clear()
annecep=browser.find_element_by_name('txtTelCep')
annecep.send_keys(str(sheet1['C'+str(x)].value))
kaydet=browser.find_element_by_id('IOMToolbarActive1_kaydet_b')
kaydet.click()
time.sleep(3)
baba=FindElem(browser,'/html/body/form[2]/table/tbody/tr[3]/td[1]/div/div/table/tbody/tr[5]/td/table/tbody/tr[2]/td/table[2]/tbody/tr[5]/td')
baba.click()
time.sleep(2)
#Anne telefon bilgisi girelim
browser.find_element_by_id('txtTelCep').clear()
babacep=browser.find_element_by_name('txtTelCep')
babacep.send_keys(str(sheet1['C'+str(x)].value))
kaydet=browser.find_element_by_id('IOMToolbarActive1_kaydet_b')
kaydet.click()
time.sleep(3)
print(str(sheet1['A'+str(x)].value)+' nolu öğrencinin anne baba telefon bilgisi eklendi.')
#40 öğrencide bir, sistemi 5 sn dinlendirelim...
if sayi%40==0:
print('Sistemi 5 sn dinlendirelim.')
sayi+=1
time.sleep(5)