如何在pywebview中保存会话以实现登录状态持久化?
实现pywebview浏览器的登录状态持久化
要让pywebview打开的网页记住登录状态,核心是让浏览器引擎保存Cookie和用户缓存数据,具体可通过以下方式实现:
- 关闭隐私模式,允许浏览器持久化存储数据
- 指定固定的用户数据目录,让每次启动程序都读取同一目录下的缓存和Cookie
修改后的代码如下:
import webview # 配置用户数据存储目录,可自行修改路径 user_data_dir = r'D:\Projects\Blender Add-on\browser_user_data' # 创建窗口 window = webview.create_window('Simple Browser', 'https://mail.google.com/') icon_path = r'D:\Projects\Blender Add-on\logo.ico' window.icon = icon_path # 启动webview,禁用隐私模式并指定数据目录 webview.start(private_mode=False, user_data_dir=user_data_dir)
关键参数说明
private_mode=False:关闭隐私浏览模式,允许浏览器将Cookie、登录会话等数据保存到本地user_data_dir:指定固定本地目录存储浏览器用户数据(含Cookie、缓存、登录状态等)。只要该目录未被删除,下次启动程序会自动加载之前保存的登录状态
注意事项
- 确保指定的
user_data_dir路径具备读写权限,程序需能在该目录下创建、修改文件 - 该配置方式跨平台通用,适配pywebview在不同操作系统下的底层浏览器引擎
- 若需清除登录状态,直接删除
user_data_dir目录下的所有文件即可
内容的提问来源于stack exchange,提问作者denisi
相关产品推荐
相关产品推荐

