Selenium açıkken pencere donuyor

Arkadaşlar merhaba, bir otomasyon yazıyorum malum. Bu otomasyonda ne zaman Selenium sayfası açılsa arkadaki form donuyor başka işlem yaptırmıyor. Sayfayı kapatmam da işe yaramıyor. Time üzerinden gelen süre bitene dek forma ulaşamıyorum. Ne yapmam lazım? Projeye C# ile devam etmek istemiyorum.

import sys
from PyQt5 import QtWidgets
from PyQt5.QtGui import QIcon
from PyQt5.QtGui import QIcon
from AyGrupOtomasyon import Ui_MainWindow
from selenium import webdriver
import time
from selenium.webdriver.common.keys import Keys
class MyApp(QtWidgets.QMainWindow):
    def __init__(self):
        super(MyApp,self).__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.ui.btn_Bildirge_2.clicked.connect(self.ButonV2)
    def ButonV2(self):
        browser = webdriver.Chrome("chromedriver.exe")
        browser.get("https://ebildirge.sgk.gov.tr/EBildirgeV2")
        time.sleep(30)
def app():
    app = QtWidgets.QApplication(sys.argv)
    app.setStyle('Fusion')
    win = MyApp()
    win.show()
    sys.exit(app.exec_())
app()

asenkron başlatmadığın için olabilir. bir thread içinde başlat selenium tarafını.

1 Beğeni

Çok teşekkür ederim. Hüseyin Bey’in dediği gibi threat kullanınca sorun düzeldi. Kodun sonraki hali bu şekilde. Diğer arkadaşlar da faydalanabilir.

import sys
from PyQt5 import QtWidgets
from PyQt5.QtGui import QIcon
from PyQt5.QtGui import QIcon
from AyGrupOtomasyon import Ui_MainWindow
from selenium import webdriver
import time
from selenium.webdriver.common.keys import Keys
import threading
class MyApp(QtWidgets.QMainWindow):
    def __init__(self):
        super(MyApp,self).__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.ui.btn_Bildirge_2.clicked.connect(self.ButonV2Calistir)
    def ButonV2Calistir(self):
        def ButonV2():
            browser = webdriver.Chrome("chromedriver.exe")
            browser.get("https://ebildirge.sgk.gov.tr/EBildirgeV2")
            time.sleep(30)    
        t1 = threading.Thread(target=ButonV2)
        t1.start()
def app():
    app = QtWidgets.QApplication(sys.argv)
    app.setStyle('Fusion')
    win = MyApp()
    win.show()
    sys.exit(app.exec_())
app()
1 Beğeni

Bu otomasyon hali hazırda zaten var olan bir şey. Daha bugün sigorta teşviği gelmiş mi diye bakarken gördüm.

Çalıştığım şirket için yazıyorum. Halihazırda excel üstünde benzer bir sistem kullanıyorlar zaten bizim istediklerimiz çok farklı. Sıfırdan bir sürü modül eklenecek.

1 Beğeni