folder Tahribat.com Forumları
linefolder Python
linefolder Selenium'un Tkinter Butonu İle Çalıştırılırken Takılması (Python)



Selenium'un Tkinter Butonu İle Çalıştırılırken Takılması (Python)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SENAR1ST
    SENAR1ST's avatar
    Kayıt Tarihi: 15/Mayıs/2016
    Erkek

    Merhaba arkadaşlar, tkinter bir arayüz üzerindeki butona selenium fonksiyonu tanımladım. Sorunum şu;

    Butona basıldığı zaman 2 saniye takılma oluyor ve browser açılıyor ancak selenium işlemleri bitmeden arayüze tekrar tıklandığı zaman windows hata veriyor ve arayüz donuyor.

    Örneğin selenium işlemlerini fonksiyon yerine, exe haline çevirip çalıştırdığımda takılma olmuyor ama bu pek pratik bir çözüm değil. Nasıl yapılabilir?

    SENAR1ST tarafından 26/Eyl/19 14:35 tarihinde düzenlenmiştir
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    coder2
    coder2's avatar
    Kayıt Tarihi: 15/Mart/2007
    Erkek

    Takılma kısmı dediğiniz gecikme sanırım. Bunun için kodların ilgili bolümlerini paylaşırsanız daha rahat yorum yapılabilir.

    Tekrar butona basılınca hata vermesine gelince. Butona bir defa basıldıktan sonra işlem bitene kadar butonu pasif hale getirmeniz bir çozüm olabilir.


    Önceleri Kızlar Utanınca Kızarırdı Şimdilerde Kızarınca Utanıyorlar..
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SENAR1ST
    SENAR1ST's avatar
    Kayıt Tarihi: 15/Mayıs/2016
    Erkek
    coder2 bunu yazdı

    Takılma kısmı dediğiniz gecikme sanırım. Bunun için kodların ilgili bolümlerini paylaşırsanız daha rahat yorum yapılabilir.

    Tekrar butona basılınca hata vermesine gelince. Butona bir defa basıldıktan sonra işlem bitene kadar butonu pasif hale getirmeniz bir çozüm olabilir.

    Kodları aşağıda verdim hocam. Sorunları tekrar hatırlatıyım. Butona tıklandığında selenium işlemlere başlıyor.  Ama arayüz, işlemler bitene kadar kilitleniyor. Bir diğer sorunum ise arayüzü kapattığımda selenium browser de kapanıyor. Arayüz ve selenium işlemlerini nasıl birbirinden bağımsız yapabilirim?

    import tkinter as tk
    from selenium import webdriver
    import time

    def selenium ():
    driver = webdriver.Chrome(executable_path='C:\chromedriver.exe')
    driver.get("https://www.tahribat.com/")
    time.sleep(0.5)
    driver.get("https://www.tahribat.com/forum/seleniumun-tkinter-butonu-ile-calistirilirken-tak-242907")
    time.sleep(0.5)
    driver.get("https://www.tahribat.com/")
    time.sleep(0.5)
    driver.get("https://www.tahribat.com/")
    time.sleep(0.5)
    driver.get("https://www.tahribat.com/forum/seleniumun-tkinter-butonu-ile-calistirilirken-tak-242907")
    time.sleep(0.5)
    driver.get("https://www.tahribat.com/")
    time.sleep(0.5)

    tkinter = tk.Tk()
    tkinter.geometry('500x300+990+300')
    buton1 = tk.Button(tkinter, text="Buton Buton Buton Buton",command=selenium).place(relx=.2, rely=.2)

    tkinter.mainloop()

     

     

     

    SENAR1ST tarafından 26/Eyl/19 22:07 tarihinde düzenlenmiştir
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ZoRKaYa
    ZoRKaYa's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek

    Threadlere bak hocam. Butona bastiginda o islemi ayri bir threadde yaparsan takilmaz. Su anda tek thread calisiyor program, dolayısıyla ayni anda tek islem yapabiliyor process.


    echo "imzanız özel karakter içermemelidir";
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SENAR1ST
    SENAR1ST's avatar
    Kayıt Tarihi: 15/Mayıs/2016
    Erkek
    ZoRKaYa bunu yazdı

    Threadlere bak hocam. Butona bastiginda o islemi ayri bir threadde yaparsan takilmaz. Su anda tek thread calisiyor program, dolayısıyla ayni anda tek islem yapabiliyor process.

    Araştırdım hocam mümkün bir çözüm. Ama yine de merak ediyorum başka bir şekilde yapılamaz mı diye. Bilen varsa beklemedeyim.

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek

    Ana thread hem gui hem selenium işlemlerini yapıyor. Ana thread'ı da gui'de oluşturuyorsun. Gui kapanınca ana threadın da kapanıyor. Yani durum gayet normal.

    Tüm bu aktardığın problemlerin çözümü için:

    1. GUI ve diğer işlemler ayrı thread'larda yapılacak.

    ya da

    2. Asenkron çalışacak.

    Seninkine benzer bir problemin çözümü https://stackoverflow.com/questions/47895765/use-asyncio-and-tkinter-or-another-gui-lib-together-without-freezing-the-gui adresinde verilmiş.


    Kolay gelsin.


    Olaylara karışmayın!
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SENAR1ST
    SENAR1ST's avatar
    Kayıt Tarihi: 15/Mayıs/2016
    Erkek
    YeniHarman bunu yazdı

    Ana thread hem gui hem selenium işlemlerini yapıyor. Ana thread'ı da gui'de oluşturuyorsun. Gui kapanınca ana threadın da kapanıyor. Yani durum gayet normal.

    Tüm bu aktardığın problemlerin çözümü için:

    1. GUI ve diğer işlemler ayrı thread'larda yapılacak.

    ya da

    2. Asenkron çalışacak.

    Seninkine benzer bir problemin çözümü https://stackoverflow.com/questions/47895765/use-asyncio-and-tkinter-or-another-gui-lib-together-without-freezing-the-gui adresinde verilmiş.


    Kolay gelsin.

    Teşekkürler hocam. Bu şekilde halledelim ozaman.