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

Playwright+Chrome登录谷歌提示‘此浏览器或应用可能不安全’求助

解决谷歌登录提示“此浏览器或应用可能不安全”问题

我在Chrome(Playwright Chromium)中开展测试,想在测试套件内直接运行Google Lighthouse,但提交邮箱登录时,谷歌页面提示‘此浏览器或应用可能不安全’。已尝试相关帖子的建议仍无法解决,当前playwright.config.ts中的浏览器配置如下:

{
  name: 'Chrome - Desktop',
  use: {
    ...devices['Desktop Chrome'],
    browserType: 'chromium',
    launchOptions: {
      ignoreHTTPSErrors: true,
    },
    chromium: {
      args: ['--disable-blink-features=AutomationControlled'],
    },
  } as LaunchOptions,
}, 

试试这些解决方案:

  • 补充更多Chromium启动参数,模拟真实浏览器环境
    谷歌的自动化检测不止依赖AutomationControlled,添加这些参数能进一步降低被识别的概率:

    --disable-dev-shm-usage
    --no-first-run
    --no-default-browser-check
    --disable-extensions
    --disable-plugins-discovery
    --start-maximized
    --disable-features=VizDisplayCompositor
    
  • 调整Playwright配置,去掉自动化标识并设置真实UA
    修改后的配置示例:

    {
      name: 'Chrome - Desktop',
      use: {
        ...devices['Desktop Chrome'],
        browserType: 'chromium',
        launchOptions: {
          ignoreHTTPSErrors: true,
          ignoreDefaultArgs: ['--enable-automation'], // 移除Playwright默认的自动化标识参数
        },
        // 替换为当前最新的Chrome桌面版用户代理,可从真实Chrome浏览器中获取
        userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36',
        chromium: {
          args: [
            '--disable-blink-features=AutomationControlled',
            '--disable-dev-shm-usage',
            '--no-first-run',
            '--no-default-browser-check',
            '--disable-extensions',
            '--disable-plugins-discovery',
            '--start-maximized',
            '--disable-features=VizDisplayCompositor'
          ],
        },
      } as LaunchOptions,
    },
    
  • 用持久化上下文跳过重复登录检测
    先手动登录一次并保存上下文状态,后续测试直接复用,避免每次登录都触发谷歌的安全检测:

    // 先运行这个脚本保存登录状态
    const browser = await chromium.launch();
    const context = await browser.newContext();
    const page = await context.newPage();
    // 这里等待60秒,手动在弹出的浏览器里完成谷歌登录
    await page.waitForTimeout(60000);
    // 保存登录状态到auth.json
    await context.storageState({ path: 'auth.json' });
    await browser.close();
    
    // 测试时复用这个上下文
    const context = await chromium.launchPersistentContext('', {
      storageState: 'auth.json',
      args: [...你的启动参数],
    });
    
  • 注意Lighthouse的运行时机
    一定要等登录流程完全完成、页面稳定后再启动Lighthouse,避免Lighthouse的运行干扰浏览器状态,导致被检测异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 00:52:16