Selenium Dialog formu açma sırasında neden donar?

Merhaba değerli üstatlar. 1-2 gündür beni oldukça yoran Dialog formunun donma sorunuyla uğraşıyorum. İşin içinden bir türlü çıkamadım. Selenium ile instagram da iki adımlı doğrulama kısmına geldiğimde oluşturduğum dialog formunun çıkmasını istiyorum fakat bu dialog form donuyor. Bu sorunun nedeni tam olarak nedir? Bunu nasıl aşabilirim ?

Öncelikle buraya resim olarak donmuş olan Dialog formunu ve hemen altına aslında görünmesi gereken formu ekliyorum ;

AuthenticationForm.py

import sys

from Form_ui.SubForms.instagram.Authentication._AuthenticationForm import Ui_Dialog

#from _AuthenticationForm import Ui_Dialog

from PyQt5.QtWidgets import QDialog

from PyQt5 import QtWidgets

class AuthForm(QDialog):

    def __init__(self):

        super(AuthForm, self).__init__()

       

        self.ui = Ui_Dialog()

        self.ui.setupUi(self)

        self.setWindowTitle("Doğrulama Kodu")

#        self.ui.btnOnayla.clicked.connect(self.check_form)

        self.form_hide()

       

    #def check_form(self):

    #    if self._tboxKod == '123456':

    #        self.close()

    #        return True

    #    else:

    #        return self.form_unhide()

   

    # Form varsayılan ayarları    

    def form_hide(self):

        self.setMinimumSize(402, 135)

        self.setMaximumSize(402, 135)

        self.ui.frameWrong.setHidden(True)

   

    def form_unhide(self):

        self.setMinimumSize(402, 209)

        self.setMaximumSize(402, 209)

        self.ui.frameWrong.setHidden(False)

   

    @property

    def _tboxKod(self):

        return self.ui.tboxKod.text()

       

if __name__ == '__main__':

   app = QtWidgets.QApplication(sys.argv)

   win = AuthForm()

   win.show()

   sys.exit(app.exec_())

Formu çağırdığım kısım ;

#TODO : baglan() tamamen değişecek, test amaçlı yazıldı.
    def baglan(self):
        from instagramForm import FirstJoin
        if FirstJoin.check_userInformation:
            try:
                # İlk Giriş (Kullanıcı adı ve Şifre istenen sayfa)
                element_present = EC.presence_of_element_located((By.ID, 'loginForm'))
                WebDriverWait(self.driver, self.timeout).until(element_present)
            except NoSuchElementException:
                print("İnternet bağlantısını kontrol edin.")
            finally:
                time.sleep(5)
                input_username = self.driver.find_element(By.XPATH, '//*[@id="loginForm"]/div/div[1]/div/label/input')
                # Kullanıcı adı ve şifre yazılıysa temizle.
                input_username.clear()
                input_password = self.driver.find_element(By.XPATH, '//*[@id="loginForm"]/div/div[2]/div/label/input')
                input_password.clear()
                time.sleep(1)
                input_username.send_keys(self.username)
                input_password.send_keys(self.password)
                input_password.send_keys(Keys.RETURN)
                time.sleep(3)

                # Eğer yasaklandıysa ;
                try:
                    self.driver.find_element(By.XPATH, '/html/body/div[1]/section/main/article/div[2]/div[1]/div/form/div[2]/p')
                    print("Giriş yapılamıyor. : 'We couldn't connect to Instagram. Make sure you're connected to the internet and try again.'")
                except NoSuchElementException:
                    print("Burada (NoSuchElementException)")
                    print(self.driver.current_url)
                    if self.driver.current_url == 'https://www.instagram.com/accounts/login/two_factor?next=%2F':
                        self.verificationForm.show()
                        time.sleep(10) # Test.
                        # time.sleep yokkende açıldığı gibi kapanıyor (form yine donuk geliyor)
        else:
            print("Bir hata oluştu")

Not : Tamamını okumak istemezseniz ve tam olarak dialog formunu nerede çağırdığımı görmek isterseniz, en son else bloğunun üstüne bakın.

Bu paylaştığım bilgi yeterli mi emin değilim, eğer daha detaylı bir paylaşım gerekiyorsa paylaşabilirim

Manuel olarak giriş yaptığınızda sorun düzeliyormu ?

1 Beğeni

Kodun akisiyla ilgili bir problem oldugu icin kodun akisini gormeden bir sey soylemek zor.

Paylasilan bilgi yeterli degil, evet. Kodun tamamini paylasmak lazim (bkz: Soru Sorarken Sıkça Düşülen Hatalar #6) — veya aslinda daha ideali sorunu olusturan en kucuk kod parcasini bulup onu paylasmak ama bunu yapan daha gormedim.

1 Beğeni

Evet hocam hiçbir sorun yok o şekilde, sadece ne hikmetse formu çağırdığım zaman donuyor

aib hocam, bir form var bir de formu çağırdığım kısım :smiley: Şimdi kendimce bir şeyler deniyorum olmazsa artık diğer yerleride paylaşıcam

Uygun kısmı thread ile başlatıp denedinizmi ?

1 Beğeni

Hocam, yazılımda acemiyim kendimi geliştirme amaçlı projeyle uğraşıyorum. “thread” dediğiniz threading modülü ise işte kaba taslak duyumlarla sadece kulak aşinalığı var. Şimdi siz de böyle sorunca googleden bakmak istedim bir kaç kaynak buldum ama emin olamadım. Bununla alakalı bana okumam gereken bir link verebilir misiniz? Böylelikle o yoldan ilerlerim ve bir şeyi daha öğrenmiş olurum

1 Beğeni

Burası size yardımcı olur:

1 Beğeni