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.
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