Merhabalar,
Selenium Firefox webdriver ile bir takım otomasyon işlemleri yapan bir sistem yazıyorum ve bitirme aşamasındayım. Ancak takıldığım bir nokta var. Normalde kullanıcı adı/parola gibi bilgileri ana dizindeki txt dosyasından aldırıyordum ancak bunun için bi arayüz hazırlamaya karar verdim. Tasarladığım arayüzde qline satırları ile bu giriş bilgilerini alıyorum ve start butonuna bastığımda Selenium ile bir takım otomasyon işlemlerini yapmak üzere sistem çalışmaya başlıyor. Firefox penceresi vs. açılıyor işlemler sorunsuz devam ediyor ancak benim tasarladığım arayüz donuyor ve pencere adının yanında "Yanıt vermiyor" ibaresi çıkıyor. Butonlara vs. tıklayamıyorum. Bu sorunu nasıl aşabilirim? Arayüzde kapat tuşuna bastığımda Firefox penceresinin kapanmasını ve o thread'teki tüm işlemlerin durmasını istiyorum, bu mümkün müdür? Teşekkürler..
Python'da Qwidget penceresi ile selenium kontrol (yardım)
7
●180
- 09-05-2020, 08:13:48
- 09-05-2020, 08:24:48Hocam program uzerinden goole hesabıniza giris yapa biliyormusunuzShakumakavelli adlı üyeden alıntı: mesajı görüntüle
Benim bir botum car google hesabına giris yaptığım zaman Bu sekilde ekran geliyoe
- 09-05-2020, 08:34:32Evet hocam işlemin bitmesini bekliyor sanırım, ancak sistem hep tarayıcı üzerinden çalıştığı için işlemler hiç bitmeyecek41Yazılım adlı üyeden alıntı: mesajı görüntüle
Ben Pinterest için kullanıyorum, Google'da hiç denemedim ancak gmail hesap açma işlemlerinin yapıldığı videolara denk gelmiştim..fermayil adlı üyeden alıntı: mesajı görüntüle - 09-05-2020, 17:58:35Kimlik doğrulama veya yönetimden onay bekliyor.Pyqt5 Qthread konusunu araştırabilirsin.
- 10-05-2020, 08:06:28Qthread'in aşağıdaki kullanımı ile arayüzün donmasını engelleyebildim ancak thread'i arayüzdeki stop butonuyla durduramıyorum. Konuyla ilgili bilgisi olan değerli üstadların yorumlarını bekliyorum..TornadoDAYI adlı üyeden alıntı: mesajı görüntüle
Alıntı - 10-05-2020, 22:15:44Hiç denemediğim birşey açıkcası ama, Threadları durdurmak isteseydim aşağıdaki yöntemleri denerdim.Ayrıca Thread işlerinden nefret eden birisiyim açıkcasıShakumakavelli adlı üyeden alıntı: mesajı görüntüle

_Thread__stop()
_is_stopped
_stop()
Bunları kullandığın vakit hata kodu çıkarır. try catch ifadesi içine alırsın hata kodu çıktığında browser.quit() dediğindede firefox penceresi kapanacaktır. Threadler en ufak bir hatada zaten mevcut thread düşer çalışmaz.
Ayrıca thread eventlerle yapılan işlemlerde var örnek
from time import sleep from threading import Thread, Event def tekrarla(ne, bekleme): while True: print(ne) sleep(bekleme) if __name__ == '__main__': dum = Thread(target = tekrarla, args = ("dum",1)) tis = Thread(target = tekrarla, args = ("tis",0.5)) ah = Thread(target = tekrarla, args = ("ah",3)) dum.start() tis.start() ah.start() ah.running_event.set()Burda ah thread bir sefer çalışıyor peşine durduruluyor. Thread işlerinden nefret eden birisiyim açıkcası
Bana çok karışık geliyor. ah.running = False şeklinde kullananlarda var. Benim bildiklerim bu kadar.
- 11-05-2020, 00:12:14_Thread__stop()aLKaDraZ adlı üyeden alıntı: mesajı görüntüle
_is_stopped
_stop()
Bu üçünü denedim, farklı farklı hatalar çıkarıyorlar ancak thread çalışmaya devam ediyor, durmuyor. "ah.running_event.set()" denediğimde ise no attribute hatası veriyor. Sanırım ben de son iki gündür thread işinden nefret etmeye başladım..
Edit:
Linkteki yöntemle threadi'i sonlandırabildim sonunda. Bunun için de tüm .py dosyalarını tek bir modül haline getirdim ve bi tane global değişkeni referans aldım. Benzer sorunu yaşayan olursa kendine göre uyarlayıp sorunu aşabilir. Yardımcı olmaya çalışan tüm hocalarıma teşekkürler...
https://www.youtube.com/watch?v=XndHx3EaDgA

