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

Playwright中page.goto触发Page crashed错误(仅Chrome出现)

问题描述

使用Playwright的page.goto()函数时,Chrome浏览器中出现「Page crashed」错误,WebKit可正常运行。

错误日志

Error: page.goto: Page crashed
Call log:

  • navigating to "https://www.whateveritis.com/", waiting until "load"

相关代码片段

业务测试用例:

test("Check Hover Functionality for menu",async ({page,baseURL})=>{
   await page.goto(baseURL)
   await HomePageFlow.validateHomePage(page)
   await HomePageFlow.visitCategoryFromHomePage(homepagedata, page)
}

极简测试用例(同样触发问题):

test("open google",async ({page})=>{
      await page.goto("https://www.google.com");
   }

环境依赖(package.json)

{
  "name": "webautomation",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {},
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@playwright/test": "^1.40.1",
    "@types/node": "^20.10.5"
  }
}
排查与解决步骤
  • 调整页面等待策略
    将page.goto()的等待选项从默认的load改为domcontentloaded或networkidle,避免因页面资源加载超时触发崩溃:

    await page.goto(baseURL, { waitUntil: 'domcontentloaded' });
    // 或者
    await page.goto(baseURL, { waitUntil: 'networkidle' });
    
  • 禁用Chrome沙箱模式
    Chrome沙箱机制可能与测试环境冲突,在Playwright配置中添加启动参数:
    新建/修改playwright.config.js:

    module.exports = {
      use: {
        browserName: 'chromium',
        launchOptions: {
          args: ['--no-sandbox', '--disable-setuid-sandbox']
        }
      }
    };
    
  • 同步Playwright绑定的Chromium版本
    执行npx playwright install chromium,重新安装与当前Playwright 1.40.1匹配的Chromium版本,避免本地Chrome版本不兼容问题。

  • 增加Chrome内存分配
    若测试环境内存不足,Chrome进程易崩溃,在启动参数中增加内存限制:

    launchOptions: {
      args: ['--no-sandbox', '--disable-setuid-sandbox', '--max-old-space-size=4096']
    }
    
  • 排查页面资源加载异常
    开启网络日志定位问题资源:
    在测试用例中添加路由日志:

    test.beforeEach(async ({ context }) => {
      await context.route('**/*', route => {
        console.log(`Loading: ${route.request().url()}`);
        route.continue();
      });
    });
    

    或通过DEBUG=pw:network环境变量启动测试,查看网络请求详情。

  • 禁用Chrome扩展
    浏览器扩展可能干扰页面加载,在启动参数中禁用所有扩展:

    launchOptions: {
      args: ['--no-sandbox', '--disable-setuid-sandbox', '--disable-extensions']
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 13:12:17