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
相关产品推荐
相关产品推荐

