广西建网站哪家好,网站关闭与域名备案,江门建站模板,平面设计师证书考试官网网上很多都没讲全#xff0c;对于刚了解的朋友不太友好#xff0c;自己整理下记录下pyside6的QWebEngineView如何使用并保存和读取cookie的#xff0c;解决当程序退出后重复登录的问题#xff1a;
from PySide6.QtWidgets import QApplication, QMainWindow
from PySide6.…网上很多都没讲全对于刚了解的朋友不太友好自己整理下记录下pyside6的QWebEngineView如何使用并保存和读取cookie的解决当程序退出后重复登录的问题
from PySide6.QtWidgets import QApplication, QMainWindow
from PySide6.QtWebEngineWidgets import QWebEngineView
from PySide6.QtNetwork import QNetworkAccessManager, QNetworkCookie,QNetworkCookieJar
from PySide6.QtCore import QFile, QIODevice, QTextStream,QUrl,QByteArrayclass MainWindow(QMainWindow):def __init__(self):super().__init__()self.weburlhttps://fxg.jinritemai.com/login/commonself.view QWebEngineView()self.setCentralWidget(self.view)#self.save_cookies()self.load_cookies()# 加载一个网页以便产生一些 cookies#self.view.page().load(QUrl(https://fxg.jinritemai.com/ffa/morder/order/list))self.view.page().load(QUrl(self.weburl))#self.cookie_store.cookieAdded.connect(self.handlecookie))#页面加载完成执行self.view.page().loadFinished.connect(self.on_page_load_finished)# 页面加载完成执行def on_page_load_finished(self,txt):# 需要确保页面加载完成后保存cookiesself.save_cookies()#self.view.page().runJavaScript(document.readyState;,0, self.load_cookies)#保存cookiedef save_cookies(self):# 获取当前使用的 WebEngineProfileself.cookie_store.loadAllCookies()def load_cookies(self):profile self.view.page().profile()self.cookie_store profile.cookieStore()with open(cookies.txt, r) as file:for line in file:# 创建一个cookiecookie QNetworkCookie()mycookiecookie.parseCookies(line.encode(utf-8))print(mycookie)# 将cookie添加到cookie存储self.cookie_store.setCookie(mycookie[0])self.cookie_store.loadAllCookies()def handlecookie(self,cookie):cookiedatastr(cookie.toRawForm().data(),encodingutf-8)# # #打开一个文件用于写入 cookieswith open(cookies.txt, a, encodingutf-8) as fw: # 循环写入fw.write(cookiedata\n)# 创建应用实例
app QApplication([])# 创建主窗口实例
window MainWindow()
window.show()# 运行应用
app.exec()