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

使用Selenium Python绕过FunCaptcha:如何在回调函数提交Token?

解决Selenium Python中FunCaptcha Token的回调提交问题

当你已经拿到有效的FunCaptcha Token并修改了页面的fc-token值后,核心是找到页面注册的FunCaptcha回调函数并主动调用它,完成验证流程。以下是具体操作步骤:

  1. 定位回调函数名称
    FunCaptcha加载后会在全局window对象下注册专属的回调函数,这个函数名通常绑定在fc-token元素的data-callback属性里。你可以通过Selenium获取这个属性值:
from selenium.webdriver.common.by import By

# 获取回调函数ID
callback_func_name = driver.find_element(By.CSS_SELECTOR, '[name="fc-token"]').get_attribute('data-callback')
  1. 等待回调函数加载完成
    确保页面已经加载好这个回调函数,避免执行时出现未定义错误:
from selenium.webdriver.support.ui import WebDriverWait

# 等待回调函数存在且为函数类型
WebDriverWait(driver, 15).until(
    lambda d: d.execute_script(f"return typeof window.{callback_func_name} === 'function';")
)
  1. 调用回调函数提交Token
    直接通过Selenium执行JavaScript,调用回调函数并传入你的有效Token:
your_valid_token = "你获取到的FunCaptcha Token"

# 执行回调,提交Token
driver.execute_script(f"window.{callback_func_name}('{your_valid_token}');")

注意事项

  • 确保你的Token是当前页面FunCaptcha实例的有效Token,不同实例的Token无法通用
  • 部分网站会检测Selenium特征,建议使用undetected-chromedriver替代标准ChromeDriver,降低被检测概率
  • 如果找不到data-callback属性,可以在浏览器控制台执行console.log(Object.keys(window).filter(k => k.includes('Callback'))),手动排查可能的回调函数名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 01:50:39