@vlatek
Digital Nomad

Как реализовать автоматический перезапуск интерфейса в PyQT5 при ошибке?

Есть фронт с кнопками написанный на QtWidgets , который управляет эмуляцией браузера через Selenium. Иногда происходит непонятный баг, который закрывает интерфейс, но оставляет открытыми вкладки браузера. Как реализовать автоматический перезапуск только интерфейса, в случае его крэша, сохраняя то что открыто в браузере?

Упрощенный код бэка, дабы была понятна его структура:
from PyQt5 import QtWidgets
    from interface import Ui_MainWindow
    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.common.by import By
    from selenium.webdriver.common.action_chains import ActionChains
    from selenium.webdriver.support import expected_conditions
    from selenium.webdriver.support.wait import WebDriverWait

    driver = webdriver.Chrome(executable_path='C:\chromedriver.exe')
    url = "https://www.google.com/"
    driver.get(url) 

    class ExampleApp(QtWidgets.QMainWindow, Ui_MainWindow):
        def __init__(self):  #связываем функции с UI кнопками
            super().__init__()
            self.setupUi(self)
            self.pushButton.clicked.connect(self.NoAdress)
            self.pushButton_2.clicked.connect(self.SpecTransp)
            self.pushButton_3.clicked.connect(self.NoSvetofor)

        def NoAdress(self):          #функция для кнопки 1
            driver.execute_script('''some js code 1''')

        def SpecTransp(self): #функция для кнопки 2
            driver.execute_script('''some js code 2''')

        def NoSvetofor(self): #функция для кнопки 3
            driver.execute_script('''some js code 3''')

    if __name__ == '__main__':
        app = QtWidgets.QApplication([])
        window = ExampleApp()
        window.show()
        app.exec_()
  • Вопрос задан
  • 211 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы