Playwright中Browser与Browser Context的区别及Context的通俗解析
Playwright中Browser Context的通俗解释及与Selenium Session的对比
你对Browser(对应真实的Chrome/Firefox等浏览器实例)和Page(对应浏览器标签页/页面)的理解完全正确,下面给你拆解Browser Context的核心含义:
什么是Browser Context?
它是一个完全隔离的浏览器运行环境,可以通俗理解成:
- 一个独立的「虚拟隐私浏览器分身」:每个Context之间的Cookie、本地存储、缓存、用户设置完全隔离,就像你打开了多个互不干扰的隐私窗口
- 依托于同一个Browser实例:你可以在一个已启动的浏览器里创建N个Context,不用反复启动新浏览器,节省资源
- Context是Page的容器:同一个Context下的多个Page(标签页)会共享该Context的所有状态,比如登录态、Cookie,就像你在同一个隐私窗口里打开多个标签页,它们是互通的
和Selenium Session的区别?
二者有相似的隔离属性,但核心定位不同:
- Selenium的Session是你与单个浏览器实例的绑定会话:一个Session对应一个完整的浏览器进程,会话结束浏览器就关闭,无法在同一个浏览器下创建多个隔离会话
- Playwright的Context是浏览器内部的隔离环境:基于同一个Browser实例创建,多个Context共享浏览器的内核资源,但数据完全隔离,销毁Context也不会关闭浏览器,复用性和效率更高
- 简单总结:Selenium Session是「绑定整个浏览器的会话」,Playwright Context是「浏览器内部的隔离会话容器」
实际场景举例
比如你要测试同一网站的3个不同用户登录:
- 用Selenium:需要启动3个独立的浏览器实例,每个对应一个用户会话
- 用Playwright:只需要启动1个Browser实例,创建3个Context,每个Context打开Page登录对应账号,3个用户的登录态完全隔离,且资源占用更低
内容的提问来源于stack exchange,提问作者Mugen
相关产品推荐
相关产品推荐

