You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在本地与服务器间复用Playwright浏览器上下文?

解决Playwright持久化上下文跨设备复用的Chromium锁定问题

这个错误是因为Chromium会为正在使用的配置文件生成锁定文件,防止多进程或跨设备同时访问导致数据损坏。你直接复制本地的browser_context目录时,这些锁定文件也被同步到了服务器,服务器上的Chromium检测到锁定标记后就会报错。

解决方法如下:

  • 删除锁定文件:进入服务器上的browser_context目录,删除SingletonLock、SingletonCookie、SingletonSocket这类锁定相关文件(不同操作系统下文件名可能略有差异),之后再启动Playwright。
  • 复制前确保本地释放上下文:复制目录前必须关闭本地的Playwright实例,确保本地已经完全释放了对该上下文的锁定,避免复制时锁定文件处于活跃状态。
  • 用官方推荐的状态同步方式替代目录复制:Playwright更推荐使用storageState来导出/导入会话状态,而非直接复制整个上下文目录:
    • 本地导出状态:
      await context.storageState({ path: 'storage.json' })
      
    • 服务器导入状态:
      const context = await browser.newContext({ storageState: 'storage.json' })
      
    这种方式只同步Cookie、本地存储等必要的会话数据,不会携带Chromium的锁定文件,兼容性和安全性更高。
  • 清理服务器残留进程:如果服务器上存在未正常退出的Chromium进程,先杀掉这些进程再启动,Linux系统可执行命令:
    pkill -f chromium
    

内容的提问来源于stack exchange,提问作者Harsh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 05:12:07