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

使用Playwright Chromium与Python登录Gmail时遇“此浏览器可能不安全”错误

解决Playwright登录Gmail被拦截的问题

问题根源

你遇到的是Google的反自动化检测拦截,原因包括:

  • Playwright默认的浏览器指纹会被识别为自动化工具
  • 代码中批量循环登录的操作直接触发了Google风控
  • 部分浏览器启动参数反而暴露了自动化行为

修复方案

1. 优化浏览器配置,模拟真实用户环境

调整浏览器启动参数和上下文配置,隐藏自动化标识,使用真实用户环境:

from playwright.sync_api import Playwright, sync_playwright

with sync_playwright() as playwright:
    # 仅保留必要的参数,移除触发检测的特殊配置
    browser = playwright.chromium.launch(
        headless=False,
        args=[
            '--disable-blink-features=AutomationControlled',  # 核心:隐藏自动化控制标识
            '--no-sandbox',
            '--disable-dev-shm-usage'
        ]
    )
    
    # 创建上下文时添加真实User-Agent,启用状态存储复用
    context = browser.new_context(
        user_agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
        storage_state='gmail_login_state.json'  # 保存登录状态,后续可直接复用
    )
    
    page = context.new_page()
    page.goto('https://mail.google.com')
    
    # 单个账号测试(禁止批量循环)
    account = "你的Gmail账号"
    password = "你的Gmail密码"
    
    # 处理邮箱输入
    if page.locator('input[type="email"]').is_visible():
        page.fill('input[type="email"]', account)
        page.click('button:has-text("下一步")')
        page.wait_for_timeout(1000)  # 模拟用户操作间隔
    
    # 处理密码输入
    if page.locator('input[type="password"]').is_visible():
        page.fill('input[type="password"]', password)
        page.click('button:has-text("下一步")')
        page.wait_for_timeout(2000)
    
    # 保存登录状态,下次启动可跳过登录流程
    context.storage_state(path='gmail_login_state.json')
    
    # 验证登录结果
    if page.locator('div[role="main"]').is_visible():
        print("登录成功")
    
    browser.close()

2. 移除批量登录逻辑

代码中循环100次尝试不同账号的操作是典型的自动化批量行为,Google风控系统会直接拦截。先测试单个账号登录,确认正常后再考虑其他操作,且操作间隔需模拟真实用户节奏(比如每次操作间隔30秒以上)。

3. 处理验证步骤

如果遇到验证码或两步验证,首次登录时需手动完成验证,之后通过storage_state保存的状态可直接跳过验证流程。若需长期自动化,建议为账号开启两步验证后使用应用专用密码登录。

4. 关键参数说明

  • --disable-blink-features=AutomationControlled:隐藏浏览器的自动化标识,避免被Google检测
  • storage_state:保存登录后的Cookie和本地存储,后续启动可直接进入已登录状态
  • 真实User-Agent:让浏览器环境更贴近普通用户

内容的提问来源于stack exchange,提问作者Anik Saha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 03:42:44