Playwright无法打开非隐身模式浏览器问题求助
问题排查与修复方案
先看你代码里的几个明显问题:
- 变量命名冲突:
BrowserContext BrowserContext类名和变量名重复,Java里变量名要小写开头,改成BrowserContext context - 页面创建方式错误:
launchPersistentContext返回的是BrowserContext实例,不是Browser类,不能用Browser.newPage(),得用你创建的context对象调用newPage() - 默认无头模式:Playwright Chromium默认是无头启动,浏览器不会显示,要显式关闭无头模式
修复后的代码:
Path userDataDir = Path.of("myPath"); // 关闭无头模式,添加启动参数 BrowserContext context = playwright.chromium().launchPersistentContext(userDataDir, new BrowserType.LaunchPersistentContextOptions().setHeadless(false)); Page page = context.newPage(); page.navigate(url);
额外注意事项:
- 确保
myPath路径存在,或者Playwright有创建该目录的权限,否则会启动失败 - 测试结束后记得关闭context和playwright实例,避免资源泄漏:
context.close(); playwright.close();
内容的提问来源于stack exchange,提问作者ShawnG
相关产品推荐
相关产品推荐

