每次我启动应用程序时,它都会创建缓存和 cookies 文件夹,但如果我关闭应用程序并再次打开它,它会加载 cookies,大约 5 秒后它崩溃并关闭,日志中没有错误,直到那时我有一个强制它删除 cookie 和缓存文件夹的代码。但这不是我想要的,我希望用户能够毫无问题地保留 cookie。
删除 cookie 和缓存:
try:
if os.path.exists(str(str(os.path.expanduser(os.getenv('USERPROFILE'))) + r'\Documents\WebWidget\Cache')):
shutil.rmtree((str(str(os.path.expanduser(os.getenv('USERPROFILE'))) + r'\Documents\WebWidget\Cache')))
except:
pass
try:
if os.path.exists(str(str(os.path.expanduser(os.getenv('USERPROFILE'))) + r'\Documents\WebWidget\Storage')):
shutil.rmtree((str(str(os.path.expanduser(os.getenv('USERPROFILE'))) + r'\Documents\WebWidget\Storage')))
except:
pass
try:
if os.path.exists(str(str(os.path.expanduser(os.getenv('USERPROFILE'))) + r'\Documents\WebWidget\DropCache')):
shutil.rmtree((str(str(os.path.expanduser(os.getenv('USERPROFILE'))) + r'\Documents\WebWidget\DropCache')))
except:
pass
try:
if os.path.exists(str(str(os.path.expanduser(os.getenv('USERPROFILE'))) + r'\Documents\WebWidget\DropStorage')):
shutil.rmtree((str(str(os.path.expanduser(os.getenv('USERPROFILE'))) + r'\Documents\WebWidget\DropStorage')))
except:
pass
web引擎视图的构建:
self.browser = QWebEngineView()
正在创建所有已删除的文件夹...
profile = QWebEngineProfile("my_profile", self.browser)
profile.defaultProfile().setPersistentCookiesPolicy(QWebEngineProfile.NoPersistentCookies)
profile.defaultProfile().setCachePath(str(str(os.path.expanduser(os.getenv('USERPROFILE'))) + r'\Documents\WebWidget\DropCache'))
profile.defaultProfile().setPersistentStoragePath(str(str(os.path.expanduser(os.getenv('USERPROFILE'))) + r'\Documents\WebWidget\DropStorage'))
profile.defaultProfile().setDownloadPath(str(str(os.path.expanduser(os.getenv('USERPROFILE'))) + r'\Downloads'))
profile.setCachePath(str(str(os.path.expanduser(os.getenv('USERPROFILE'))) + r'\Documents\WebWidget\Cache'))
profile.setPersistentStoragePath(str(str(os.path.expanduser(os.getenv('USERPROFILE'))) + r'\Documents\WebWidget\Storage'))
profile.setDownloadPath(str(str(os.path.expanduser(os.getenv('USERPROFILE'))) + r'\Downloads'))
webpage = QWebEnginePage(profile, self.browser)
webpage.settings().setAttribute(QWebEngineSettings.PlaybackRequiresUserGesture, True)
self.show()
" profile.defaultProfile().setPersistentCookiesPolicy(QWebEngineProfile.NoPersistentCookies) “我尝试将此值设置为 ForcePersistentCookies 或删除它,它没有改变任何东西。