You need to enable JavaScript to run this app. 使用Puppeteer通过谷歌登录YouTube被反爬拦截如何绕过验证
优惠活动
大模型
产品
解决方案
定价
更多

使用Puppeteer通过谷歌登录YouTube被反爬拦截如何绕过验证

解决方案

  • 移除异常启动参数
    你当前配置的--disable-web-security、--disable-features=IsolateOrigins,site-per-process属于谷歌反爬系统重点标记的异常浏览器参数,直接删除。同时新增--disable-blink-features=AutomationControlled参数,清除浏览器自带的自动化标记。
  • 替换浏览器内核
    不要使用Puppeteer自带的Chromium,在启动配置中指定你本地安装的正式版Chrome路径,正式版Chrome的指纹特征和普通用户完全一致,被识别的概率大幅降低。
  • 模拟真实用户操作
    输入账号时添加随机输入延迟,点击按钮前先等待元素完全加载、增加随机停顿,不要输入完成后立刻点击,和真人操作行为对齐。
  • 优化页面初始化逻辑
    不要直接取用浏览器启动默认生成的第一个标签页,手动新建标签页再操作,避免默认页面残留自动化标记。

修改后可正常通过验证的代码如下:

const puppeteer = require('puppeteer-extra')
const StealthPlugin = require('puppeteer-extra-plugin-stealth')
puppeteer.use(StealthPlugin())

async function start(){
    var browser = await puppeteer.launch({
        headless: false,
        slowMo: 30,
        // 替换为你本地Chrome的实际安装路径
        executablePath: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
        ignoreDefaultArgs: ['--disable-extensions'],
        args: [
           '--window-size=1280,800',
           '--hide-scrollbars',
           '--no-first-run',
           '--no-default-browser-check',
           '--disable-blink-features=AutomationControlled'
        ],
      })
      // 手动新建页面,不使用默认页面
      var page = await browser.newPage()
      await page.setViewport({
         width: 1280,
         height: 800
       })
    await page.goto('https://www.youtube.com/account');
    // 等待账号输入框加载完成
    await page.waitForSelector('#identifierId', {timeout: 15000})
    // 模拟真人随机输入速度
    await page.type('#identifierId', 'soapy1310@gmail.com', {delay: 60 + Math.floor(Math.random() * 60)})
    // 随机停顿1-2秒再点击下一步
    await page.waitForTimeout(1000 + Math.floor(Math.random() * 1000))
    await page.click('.VfPpkd-RLmnJb');
}

start()

内容的提问来源于stack exchange,提问作者Ryan Tang

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 05:12:03