Send_keys () parantez içerisine veri getirme

Merhaba,
Tanımlamış olduğum go2 fonksiyonundaki kullanıcı kodunun,
her bir firma değişiminde diğer bir fonksiyon olan ebeyanname fonksiyonun içerisindeki
send_keys () parantez içerisine aktarmak istiyorum.
Bunu nasıl yapabilirim ?

def go2(event):
    cs = listefirmalar.curselection()
    
   
    for list in cs:
          
        if list == 0:
            ebeyanname={    
                                  "kullanıcı_kodu": 12345678,
                                  "parola": "aaaaa",
                                  "şifre":111,
                                  }
def ebeyanname():
    driver_path = "C:\edgedriver\msedgedriver.exe"
    driver = webdriver.Edge(driver_path)
    driver.get("https://ebeyanname.gib.gov.tr/index.html")   
    time.sleep(2)
    giriş_yap = driver.find_element_by_id("buton")
    giriş_yap.click()
    main_page = driver.current_window_handle
    for handle in driver.window_handles:
     if handle != main_page:
        login_page = handle
    driver.switch_to.window(login_page)
    
         
    kullanıcı_kodu = driver.find_element_by_xpath('//*[@id="username"]')
    parola = driver.find_element_by_xpath('//*[@id="password2"]')
    şifre = driver.find_element_by_xpath('//*[@id="password1"]')
    kullanıcı_kodu.send_keys(????)
    parola.send_keys(????)
    şifre.send_keys(?????)
    time.sleep(3)
    giriş_yap2 = driver.find_element_by_xpath('//*[@id="loginForm"]/table/tbody/tr[5]/td/input')
    giriş_yap2.click()
    time.sleep(60)
    driver.quit()

ebeyanname fonksiyonunu kim cagiriyor?

bkz: Soru Sorarken Sıkça Düşülen Hatalar #6

listboxtan ebeyanname sekmesine tıklayarak ebeyanname fonksiyonunu çalıştırıyorum.

def go(event):
    cs = listesekme.curselection()
    
   
    for list in cs:
          
        if list == 0:
            interaktifvergidairesithread()
        elif list == 1:
            internetvergidairesithread()
        elif list == 2:
            ebeyannamethread()

def ebeyannamethread():
x = threading.Thread(target=ebeyanname,daemon=True)
x.start()

Bu ne demek?

Hangi listbox?

Thread constructor’ina args olarak verilen seyler ebeyanname fonksiyonuna parametre olarak gidecektir. ebeyannamethread ve ebeyanname kullanici kodunu parametre olarak alabilir.

Yapmak istediğim Firma seçten " A " firmasını seçtiğimde def go2 fonksiyonunda tanımlamış olduğum şifrelerin ebeyanname fonksiyonundaki send_keys() e aktarılmasını sağlamak,
çalışmamdaki tüm kodları aşağıda paylaşıyorum.

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from tkinter import *
import threading
import time

pencere = Tk()
pencere.geometry("800x850")
pencere.title("ÇALIŞMA")



ebeyanname={    
                 "kullanıcı_kodu": 12345678,
                 "parola": "aaaaa",
                 "şifre":111,
                 }



sgk={    
                 "kullanıcıadı": 12345678,
                 "kullanıcıkodu": 11111,
                 "sistemşifresi": 22222,
                 "işyerişifre":111,
                 }




def go2(event):
    cs = listefirmalar.curselection()
    
   
    for list in cs:
          
        if list == 0:
            ebeyanname={    
                       "kullanıcı_kodu": 12345678,
                       "parola": "aaaaa",
                       "şifre":111,
                       }
        
        elif list == 1:
           ebeyanname={    
                      "kullanıcı_kodu": 8888888,
                      "parola": "aaaaa",
                      "şifre":111,
                      }
        elif list == 2:
            ebeyanname={    
                      "kullanıcı_kodu": 9999999,
                      "parola": "aaaaa",
                      "şifre":111,
                      }
            
            
            
           



def interaktifvergidairesi():
    driver_path = "C:\edgedriver\msedgedriver.exe"
    driver = webdriver.Edge(driver_path)
    driver.get("https://ivd.gib.gov.tr")
    time.sleep(2)
    giriş_yap = driver.find_element_by_id("buton")
    giriş_yap.click()
    main_page = driver.current_window_handle
    for handle in driver.window_handles:
     if handle != main_page:
        login_page = handle
    driver.switch_to.window(login_page)
    
        
        
    kullanıcı_kodu = driver.find_element_by_xpath('//*[@id="username"]')
    parola = driver.find_element_by_xpath('//*[@id="password2"]')
    şifre = driver.find_element_by_xpath('//*[@id="password1"]')
    kullanıcı_kodu.send_keys(vergidairesi["kullanıcı_kodu"])
    parola.send_keys(vergidairesi["parola"])
    şifre.send_keys(vergidairesi["şifre"])
    time.sleep(3)
    giriş_yap2 = driver.find_element_by_xpath('//*[@id="loginForm"]/table/tbody/tr[5]/td/input')
    giriş_yap2.click()
    time.sleep(60)
    driver.quit()


def internetvergidairesi():
    driver_path = "C:\edgedriver\msedgedriver.exe"
    driver = webdriver.Edge(driver_path)
    driver.get("https://intvrg.gib.gov.tr/")
    time.sleep(2)
    giriş_yap = driver.find_element_by_id("buton")
    giriş_yap.click()
    main_page = driver.current_window_handle
    for handle in driver.window_handles:
     if handle != main_page:
        login_page = handle
    driver.switch_to.window(login_page)
        
    kullanıcı_kodu = driver.find_element_by_xpath('//*[@id="username"]')
    parola = driver.find_element_by_xpath('//*[@id="password2"]')
    şifre = driver.find_element_by_xpath('//*[@id="password1"]')
    kullanıcı_kodu.send_keys(vergidairesi["kullanıcı_kodu"])
    parola.send_keys(vergidairesi["parola"])
    şifre.send_keys(vergidairesi["şifre"])
    time.sleep(3)
    giriş_yap2 = driver.find_element_by_xpath('//*[@id="loginForm"]/table/tbody/tr[5]/td/input')
    giriş_yap2.click()
    time.sleep(60)
    driver.quit()



def ebeyanname():
    driver_path = "C:\edgedriver\msedgedriver.exe"
    driver = webdriver.Edge(driver_path)
    driver.get("https://ebeyanname.gib.gov.tr/index.html")   
    time.sleep(2)
    giriş_yap = driver.find_element_by_id("buton")
    giriş_yap.click()
    main_page = driver.current_window_handle
    for handle in driver.window_handles:
     if handle != main_page:
        login_page = handle
    driver.switch_to.window(login_page)

  
         
    kullanıcı_kodu = driver.find_element_by_xpath('//*[@id="username"]')
    parola = driver.find_element_by_xpath('//*[@id="password2"]')
    şifre = driver.find_element_by_xpath('//*[@id="password1"]')
    kullanıcı_kodu.send_keys()
    parola.send_keys()
    şifre.send_keys()
    time.sleep(3)
    giriş_yap2 = driver.find_element_by_xpath('//*[@id="loginForm"]/table/tbody/tr[5]/td/input')
    giriş_yap2.click()
    time.sleep(60)
    driver.quit()



def sgkişegirişçıkış():
    driver_path = "C:\edgedriver\msedgedriver.exe"
    driver = webdriver.Edge(driver_path)
    driver.get("https://uyg.sgk.gov.tr/SigortaliTescil/amp/loginldap")
    time.sleep(2)
    giriş_yap = driver.find_element_by_id("buton")
    giriş_yap.click()
    main_page = driver.current_window_handle
    for handle in driver.window_handles:
     if handle != main_page:
        login_page = handle
    driver.switch_to.window(login_page)
        
    kullanıcı_adı = driver.find_element_by_xpath('//*[@id="username"]')
    kullanıcı_kodu= driver.find_element_by_xpath('//*[@id="username"]')
    sisşifresi = driver.find_element_by_xpath('//*[@id="password2"]')
    şifre = driver.find_element_by_xpath('//*[@id="password1"]')
    kullanıcı_adı.send_keys(sgk["kullanıcıadı"])
    kullanıcı_kodu.send_keys(sgk["kkullanıcıkodu"])
    sisşifresi.send_keys(sgk["sistemşifresi"])
    işyerişifre.send_keys(sgk["işyerişifre"])
    time.sleep(3)
    giriş_yap2 = driver.find_element_by_xpath('//*[@id="loginForm"]/table/tbody/tr[5]/td/input')
    giriş_yap2.click()
    time.sleep(60)
    driver.quit()




def sgkişveren():
    driver_path = "C:\edgedriver\msedgedriver.exe"
    driver = webdriver.Edge(driver_path)
    driver.get("https://uyg.sgk.gov.tr/IsverenSistemi")
    time.sleep(2)
    giriş_yap = driver.find_element_by_id("buton")
    giriş_yap.click()
    main_page = driver.current_window_handle
    for handle in driver.window_handles:
     if handle != main_page:
        login_page = handle
    driver.switch_to.window(login_page)
        
    kullanıcı_adı = driver.find_element_by_xpath('//*[@id="username"]')
    kullanıcı_kodu= driver.find_element_by_xpath('//*[@id="username"]')
    sisşifresi = driver.find_element_by_xpath('//*[@id="password2"]')
    şifre = driver.find_element_by_xpath('//*[@id="password1"]')
    kullanıcı_adı.send_keys(sgk["kullanıcıadı"])
    kullanıcı_kodu.send_keys(sgk["kkullanıcıkodu"])
    sisşifresi.send_keys(sgk["sistemşifresi"])
    işyerişifre.send_keys(sgk["işyerişifre"])
    time.sleep(3)
    giriş_yap2 = driver.find_element_by_xpath('//*[@id="loginForm"]/table/tbody/tr[5]/td/input')
    giriş_yap2.click()
    time.sleep(60)
    driver.quit()

  

def ebildirgev2():
    driver_path = "C:\edgedriver\msedgedriver.exe"
    driver = webdriver.Edge(driver_path)
    driver.get("https://ebildirge.sgk.gov.tr/EBildirgeV2")
    time.sleep(2)
    giriş_yap = driver.find_element_by_id("buton")
    giriş_yap.click()
    main_page = driver.current_window_handle
    for handle in driver.window_handles:
     if handle != main_page:
        login_page = handle
    driver.switch_to.window(login_page)
        
    kullanıcı_adı = driver.find_element_by_xpath('//*[@id="username"]')
    kullanıcı_kodu= driver.find_element_by_xpath('//*[@id="username"]')
    sisşifresi = driver.find_element_by_xpath('//*[@id="password2"]')
    şifre = driver.find_element_by_xpath('//*[@id="password1"]')
    kullanıcı_adı.send_keys(sgk["kullanıcıadı"])
    kullanıcı_kodu.send_keys(sgk["kkullanıcıkodu"])
    sisşifresi.send_keys(sgk["sistemşifresi"])
    işyerişifre.send_keys(sgk["işyerişifre"])
    time.sleep(3)
    giriş_yap2 = driver.find_element_by_xpath('//*[@id="loginForm"]/table/tbody/tr[5]/td/input')
    giriş_yap2.click()
    time.sleep(60)
    driver.quit()

    

def vizite():
    driver_path = "C:\edgedriver\msedgedriver.exe"
    driver = webdriver.Edge(driver_path)
    driver.get("https://uyg.sgk.gov.tr/vizite/welcome.do")
    time.sleep(2)
    giriş_yap = driver.find_element_by_id("buton")
    giriş_yap.click()
    main_page = driver.current_window_handle
    for handle in driver.window_handles:
     if handle != main_page:
        login_page = handle
    driver.switch_to.window(login_page)
        
    kullanıcı_adı = driver.find_element_by_xpath('//*[@id="username"]')
    kullanıcı_kodu= driver.find_element_by_xpath('//*[@id="username"]')
    sisşifresi = driver.find_element_by_xpath('//*[@id="password2"]')
    şifre = driver.find_element_by_xpath('//*[@id="password1"]')
    kullanıcı_adı.send_keys(sgk["kullanıcıadı"])
    kullanıcı_kodu.send_keys(sgk["kkullanıcıkodu"])
    sisşifresi.send_keys(sgk["sistemşifresi"])
    işyerişifre.send_keys(sgk["işyerişifre"])
    time.sleep(3)
    giriş_yap2 = driver.find_element_by_xpath('//*[@id="loginForm"]/table/tbody/tr[5]/td/input')
    giriş_yap2.click()
    time.sleep(60)
    driver.quit()
    




etiket1 = Label(pencere,text="FİRMA SEÇ",font="Verdana 12", bg="red", fg="white",width=45)
#etiket1.pack(padx = 10, pady = 10, side = LEFT)
etiket1.place(x=20,y=20)

etiket2 = Label(pencere,text="ŞİFRE GÜNCELLEMEK İÇİN FİRMA SEÇ",font="Verdana 12", bg="green", fg="white",width=45)
etiket2.place(x=20,y=460)

etiket3 = Label(pencere,text="Kullanıcı Kodu: ",font="Verdana 11", bg="purple", fg="white",width=15)
etiket3.place(x=20,y=550)

etiket4 = Label(pencere,text="Parola: ",font="Verdana 11", bg="purple", fg="white",width=15)
etiket4.place(x=20,y=580)

etiket5 = Label(pencere,text="Şifre: ",font="Verdana 11", bg="purple", fg="white",width=15)
etiket5.place(x=20,y=610)




entry3 = Entry(pencere,width = 30)
entry3.place(x=172,y=550)

entry4 = Entry(pencere,width = 30)
entry4.place(x=172,y=580)

entry5 = Entry(pencere,width = 30)
entry5.place(x=172,y=610)



def interaktifvergidairesithread():
     x = threading.Thread(target=interaktifvergidairesi,daemon=True)
     x.start()
def internetvergidairesithread():
     x = threading.Thread(target=internetvergidairesi,daemon=True)
     x.start()
def ebeyannamethread():
     x = threading.Thread(target=ebeyanname,daemon=True)
     x.start()
def sgkişegirişçıkışthread():
     x = threading.Thread(target=sgkişegirişçıkış,daemon=True)
     x.start()
def sgkişverenthread():
     x = threading.Thread(target=sgkişveren,daemon=True)
     x.start()
def ebildirgev2thread():
     x = threading.Thread(target=ebildirgev2,daemon=True)
     x.start()
def vizitethread():
     x = threading.Thread(target=vizite,daemon=True)
     x.start()
   

def go(event):
    cs = listesekme.curselection()
    
   
    for list in cs:
          
        if list == 0:
            interaktifvergidairesithread()
        elif list == 1:
            internetvergidairesithread()
        elif list == 2:
            ebeyannamethread()
        elif list == 3:
            sgkişegirişçıkışthread()

        elif list == 4:
            sgkişverenthread()

        elif list == 5:
            ebildirgev2thread()

        elif list == 6:
             vizitethread()
             
                  

             



sb = Scrollbar(pencere,orient = VERTICAL)
sb.place(x=316,y=66)

listefirmalar = Listbox(pencere,yscrollcommand=sb.set, width = 15, height = 1, font=('Times', 20, 'bold'),bd = 4,fg = 'blue', )
listefirmalar.bind('<Double-1>', go2)
listefirmalar.place(x=100,y=66)
sb.config(command=listefirmalar.yview)

firmalar = ["A","B","C"]

for a in firmalar:
    listefirmalar.insert(END,a)




sb2 = Scrollbar(pencere,orient = VERTICAL)
sb2.place(x=316,y=490)

listeşifregüncellemefirmalar = Listbox(pencere,yscrollcommand=sb2.set, width = 15, height = 1, font=('Times', 20, 'bold'),bd = 4,fg = 'blue', )
##listefirma.bind('<Double-1>', go3)
listeşifregüncellemefirmalar.place(x=100,y=490)
sb2.config(command=listeşifregüncellemefirmalar.yview)

firmalar2 = ["A","B","C"]

for a in firmalar2:
    listeşifregüncellemefirmalar.insert(END,a)

    


             

listesekme = Listbox(pencere, width = 28, height = 9, font=('Times', 20, 'bold'),bd = 4,fg = 'blue', )
listesekme.bind('<Double-1>', go)
listesekme.place(x=30,y=150)

sekmeler = ["İNTERAKTİF VERGİ DAİRESİ","İNTERNET VERGİ DAİRESİ","E-BEYANNAME","SGK İŞE GİRİŞ ÇIKIŞ","SGK İŞVEREN","EBİLDİRGE V2","VİZİTE"]

for i in sekmeler:
    listesekme.insert(END,i)



sgk orneginde oldugu gibi global bir degiskenin icine yazmak olmuyor mu?

Degiskenin isminin baska bir fonksiyonla ayni olmamasi lazim ve ebeyanname = ... ile atama yapilmadan once global olarak beyan edilmesi (veya ebeyanname['kullaniciadi'] = ... seklinde altina atama yapilmasi) lazim.

Yönlendirmeniz için çok teşekkür ederim.
Global olarak tanımlayınca sorunu çözdüm.