Доработать код python PySide6
Нужно сделать так, чтобы у каждой вкладки была своя папка для cookie.
При повторном открытие программы, должны сохраняться те данные, которые были введены.
Сайт указан один и тот же. По первой вкладки логиниться Иван, во второй Дарья.
Код прилагаю.
import sys
from PySide6.QtWebEngineCore import QWebEnginePage
from PySide6.QtWebEngineWidgets import QWebEngineView
from PySide6.QtWidgets import (QApplication, QMainWindow, QTabWidget)
class MyWebView(QWebEngineView):
def createWindow(self, type_):
if type_ == QWebEnginePage.WebBrowserBackgroundTab:
# Вызывается при Ctrl+ЛКМ / СКМ
return self.window().add_tab(self.url())
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('Программа')
self.tab_widget = QTabWidget(self)
self.setCentralWidget(self.tab_widget)
web_view = MyWebView()
web_view.setUrl('https://vk.com/')
self.tab_widget.addTab(web_view, 'user')
web_view2 = MyWebView()
web_view2.setUrl('https://vk.com/')
self.tab_widget.addTab(web_view2, 'user1')
web_view3 = MyWebView()
web_view3.setUrl('https://vk.com/')
self.tab_widget.addTab(web_view3, 'user2')
web_view4 = MyWebView()
web_view4.setUrl('https://vk.com/')
self.tab_widget.addTab(web_view4, 'user3')
def add_tab2(self, url):
web_view2 = MyWebView()
web_view2.setUrl(url)
self.tab_widget.addTab(web_view2, 'user')
return web_view2# Возвращаем QWebEngineView для запроса
def add_tab(self, url):
web_view = MyWebView()
web_view.setUrl(url)
self.tab_widget.addTab(web_view, 'user1')
return web_view# Возвращаем QWebEngineView для запроса
def add_tab3(self, url):
web_view3 = MyWebView()
web_view3.setUrl(url)
self.tab_widget.addTab(web_view3, 'user2')
return web_view3# Возвращаем QWebEngineView для запроса
def add_tab4(self, url):
web_view4 = MyWebView()
web_view4.setUrl(url)
self.tab_widget.addTab(web_view4, 'user3')
return web_view4# Возвращаем QWebEngineView для запроса
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWin = MainWindow()
availableGeometry = mainWin.screen().availableGeometry()
mainWin.resize(availableGeometry.width() * 3 / 3, availableGeometry.height() * 3 / 3)
mainWin.show()
sys.exit(app.exec())