Selenium ile https://ebildirge.sgk.gov.tr/EBildirgeV2'ye otomatik giriş

Merhabalar, VBA ile yazılmış bir makromuz var. Altta verdiğim siteye bizdeki kullanıcı adları ile otomatik giriş yapıyor. Programı Python’a taşımak istiyoruz. Giriş için Selenium kullanmayı düşünüyorum fakat ID ve Şifre ekranlarını bulamadım. Nasıl girebilirim? Program güvenlik kodunu elle girdiriyor bize o konuda sorun yok elle girebiliriz.

Link

ID ve şifre ekranı derken bu alandan mı bahsediyorsunuz?

<table>
						<tr>
							<td style="width: 35% !important;"><p>Kullanıcı Adı</p></td>
							<td style="width: 65% !important;"><input type="text" name="username" size="11" maxlength="11" value="" id="kullaniciIlkKontrollerGiris_username" style="width:161px;display:inline;" autocomplete="off"/>-<input type="text" name="isyeri_kod" size="4" maxlength="4" value="" id="kullaniciIlkKontrollerGiris_isyeri_kod" style="width:50px;display:inline;" autocomplete="off"/></td>
						</tr>
						<tr>
							<td style="width: 35% !important;"><p>Sistem Şifresi</p></td>
							<td style="width: 65% !important;"><input type="password" name="password" maxlength="10" id="kullaniciIlkKontrollerGiris_password" style="width:238px;" autocomplete="off"/></td>
						</tr>
						<tr>
							<td style="width: 35% !important;"><p>İşyeri Şifresi</p></td>
							<td style="width: 65% !important;"><input type="password" name="isyeri_sifre" maxlength="10" id="kullaniciIlkKontrollerGiris_isyeri_sifre" style="width:238px;" autocomplete="off"/></td>
						</tr>
						
							<tr>
								<td colspan="2"><p>Lütfen Güvenlik Anahtarını yanında bulunan kutuya yazıp GİRİŞ tuşuna basınız.</p></td>
							</tr>
							<tr align="center">
								<td colspan="2">
									<table>
										<tr>
											<td align="right" style="width: 45%;"><img id="guvenlik_kod" src="/EBildirgeV2/PG" /></td>
											<td align="right"><a href="#" id="reload"><img style="padding-bottom: 10px" id="reload" src="/EBildirgeV2/images/refresh.png" /></a></td>
											<td align="left"><input type="text" name="isyeri_guvenlik" maxlength="10" value="" id="kullaniciIlkKontrollerGiris_isyeri_guvenlik" style="width:100px;"/></td>
										</tr>
									</table>
								</td>
							</tr>
						
					</table>
1 Beğeni

Tarayıcı sürümü ile driver sürümüne dikkat etmek kaydı ile kabaca şu şekilde yapılabilir:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
from selenium.webdriver.chrome.options import Options


driver = webdriver.Chrome(executable_path=r'C:\Users\XXXX\Desktop\sgk\chromedriver.exe')

driver.get("https://ebildirge.sgk.gov.tr/EBildirgeV2")
inputElement = driver.find_element_by_id("kullaniciIlkKontrollerGiris_username")
inputElement.send_keys('ali')
time.sleep(1)
inputElement = driver.find_element_by_id("kullaniciIlkKontrollerGiris_isyeri_kod")
inputElement.send_keys('5050')
time.sleep(1)
inputElement = driver.find_element_by_id("kullaniciIlkKontrollerGiris_password")
inputElement.send_keys('12345')
time.sleep(1)
inputElement = driver.find_element_by_id("kullaniciIlkKontrollerGiris_isyeri_sifre")
inputElement.send_keys('987')
time.sleep(1)
inputElement = driver.find_element_by_id("kullaniciIlkKontrollerGiris_isyeri_guvenlik")
inputElement.send_keys('547')

inputElement.send_keys(Keys.ENTER)
inputElement.submit() 
1 Beğeni

Bu şekilde çalışıyor evet fakat açılan Chrome Browser kapanıyor ben hiç kapanmasın istiyorum.

All_Users=[
    {
     "username": "ali",
     "is_kod": "999",
     "password":"000",
     "isyeri_sifre":"222",
    },
    {
     "username": "veli",
     "is_kod": "345",
     "password":"111",
     "isyeri_sifre":"444",
    }
]

raw_u_name=[item['username'] for item in All_Users]
raw_u_is_kod=[item['is_kod'] for item in All_Users]
raw_u_pass=[item['password'] for item in All_Users]
raw_u_i_sifre=[item['isyeri_sifre'] for item in All_Users]

driver = webdriver.Chrome(executable_path=r'C:\\Users\\XXXX\\Desktop\\sgk\\chromedriver.exe')

i=0
while True:
    try:
        driver.get("https://ebildirge.sgk.gov.tr/EBildirgeV2")
         
        inputElement = driver.find_element_by_id("kullaniciIlkKontrollerGiris_username")
        inputElement.send_keys(raw_u_name[i])
        time.sleep(1)
        inputElement = driver.find_element_by_id("kullaniciIlkKontrollerGiris_isyeri_kod")
        inputElement.send_keys(raw_u_is_kod[i])
        time.sleep(1)
        inputElement = driver.find_element_by_id("kullaniciIlkKontrollerGiris_password")
        inputElement.send_keys(raw_u_pass[i])
        time.sleep(1)
        inputElement = driver.find_element_by_id("kullaniciIlkKontrollerGiris_isyeri_sifre")
        inputElement.send_keys(raw_u_i_sifre[i])
        time.sleep(1)
        
        #inputElement.send_keys(Keys.ENTER)
        #inputElement.submit() 
        i+=1
    except:
        break

1 Beğeni