Как закрыть chrome и chromedriver из pyqt5
У меня есть приложение с gui на pyqt5, оно запускает браузер, в новом потоке. Мне нужно, что бы при закрытии приложения, закрывался браузер, который запускает приложение. Пока нашёл только такой вариант, подскажите, можно ли закрывать только тот браузер, который открывается в новом потоке?
from selenium import webdriver
from PyQt5 import uic
from PyQt5 import QtCore, QtWidgets,QtGui
import sys
import os
class PyShine_THREADS_APP(QtWidgets.QMainWindow):
def __init__(self):
QtWidgets.QMainWindow.__init__(self)
self.ui = uic.loadUi('listWidget.ui',self)
self.thread={}
self.pushButton.clicked.connect(self.start_worker_1)
def start_worker_1(self):
self.thread[1] = ThreadClass(parent=None,index=1)
self.thread[1].start()
def closeEvent(self, event):
os.system("taskkill /f /im chromedriver.exe")
os.system("taskkill /f /im chrome.exe")
class ThreadClass(QtCore.QThread):
any_signal = QtCore.pyqtSignal(str)
def __init__(self, parent=None,index=0):
super(ThreadClass, self).__init__(parent)
self.index=index
self.is_running = True
def run(self):
driver = webdriver.Chrome()
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
mainWindow = PyShine_THREADS_APP()
mainWindow.show()
sys.exit(app.exec_())