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

使用Python的Selenium库注册Twitch报错,已设User-Agent仍无效

解决Twitch注册时Selenium的反爬报错问题

修改后的完整代码

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

options = Options()
# 设置User-Agent
options.add_argument("User-Agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36")
# 禁用自动化检测标识
options.add_argument("--disable-blink-features=AutomationControlled")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
# 模拟真实浏览器的启动参数
options.add_argument("--start-maximized")
options.add_argument("--disable-extensions")
options.add_argument("--disable-plugins-discovery")
# 可选:禁用图片加载加快速度
# options.add_argument("--blink-settings=imagesEnabled=false")

service = Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service, options=options)

# 额外移除navigator.webdriver标识,彻底规避检测
driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})")

# 接下来就可以访问Twitch注册页面了
# driver.get("https://www.twitch.tv/signup")

关键修改原因

  • 屏蔽自动化检测:Twitch会通过navigator.webdriver这类属性识别Selenium,加那几个参数能直接关掉浏览器的自动化标识,让Twitch认不出来你用的是爬虫工具。
  • 手动修改浏览器属性:光靠参数还不够,用JS强制把navigator.webdriver改成undefined,彻底绕过前端的检测逻辑。
  • 模拟真实用户操作环境:禁用扩展、插件检测,启动就最大化窗口,让浏览器的行为和普通用户打开Chrome时完全一样,减少被拦截的概率。

额外提醒

  • 确保Chrome浏览器和ChromeDriver版本完全匹配,虽然webdriver-manager会自动适配,但如果还是出问题,手动下载对应版本的ChromeDriver更稳妥。
  • 操作别太急,模拟真实用户的节奏,比如输入信息后停几秒再点下一步,别连续快速操作触发频率限制。
  • 如果还是遇到验证码,可能得配合打码服务或者换代理IP,分散请求来源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 16:10:08