Hiç 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ı
_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.
_Thread__stop()
_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