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

Windows Server运行Selenium自动化测试出现Google登录Captcha如何解决

问题解决指南

方案可行性结论

针对你提到的三种解决思路,先明确可行性:

  • 普通个人Google账号无法通过管理后台关闭登录Captcha,也没有公开的IP白名单配置入口,Google的登录风控是全局规则,不可单独调整
  • 如果你使用的是企业Google Workspace托管账号,可以在Workspace Admin后台配置「异常登录挑战豁免」规则,将测试账号加入豁免列表后可跳过Captcha校验,该规则仅对企业内部托管账号生效
  • 通过Selenium添加反检测启动参数是普适性最高、落地成本最低的方案,可规避绝大多数因自动化特征触发的风控校验

有效Selenium配置示例

你可以直接复用以下Chrome启动配置,替换对应参数后即可生效:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
# 隐藏自动化标识
options.add_argument("--disable-blink-features=AutomationControlled")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option("useAutomationExtension", False)
# 替换为你本地正常运行测试的Chrome浏览器的User-Agent,抹平设备特征差异
options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36")
# 必须无界面运行时使用新版无头模式,旧版无头模式触发风控概率极高
options.add_argument("--headless=new")
# 调用服务器Chrome的已有用户配置,提前在服务器Chrome手动登录一次目标账号即可复用会话
options.add_argument(r"user-data-dir=C:\Users\你的服务器用户名\AppData\Local\Google\Chrome\User Data")
options.add_argument("profile-directory=Default")

driver = webdriver.Chrome(options=options)

兜底替代方案

如果上述配置仍然触发Captcha,可采用以下方案彻底绕过登录校验:

  • 提前调用Google OAuth2身份API获取目标账号的登录凭证,将凭证直接注入Selenium会话的Cookie中,完全跳过账号密码登录的页面流程
  • 测试阶段临时关闭目标账号的两步验证,降低风控等级,测试完成后再恢复配置

内容的提问来源于stack exchange,提问作者Timotej Arnuš

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 11:45:05