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

如何使用Selenium绕过Cloudflare验证?

解决Selenium自动化登录时的Cloudflare验证问题

优化隐身配置

你当前使用的selenium_stealth配置可以更贴近真实浏览器,调整参数如下:

stealth(driver,
    languages=["pt-BR", "pt"],  # 匹配目标网站的巴西葡萄牙语环境
    vendor="Google Inc.",
    platform="Win32",
    webgl_vendor="Intel Inc.",  # 替换为常见硬件厂商,减少特征特殊性
    renderer="Intel Iris OpenGL Engine",
    fix_hairline=True,
    run_on_insecure_origins=True,
    disable_evasions=False,  # 启用全部反检测规避策略
)

补充浏览器伪装参数

在chrome_options中添加更多配置,进一步消除自动化特征:

chrome_options.add_argument("--start-maximized")  # 最大化窗口,模拟真实用户操作习惯
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument("--disable-plugins")
chrome_options.add_argument("--disable-popup-blocking")
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")
chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"])
chrome_options.add_experimental_option('useAutomationExtension', False)
# 模拟真实Chrome浏览器的User-Agent
chrome_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")

调整验证处理逻辑

  1. 智能等待验证完成:替换固定sleep,用显式等待检测Cloudflare验证元素消失:
driver.get('https://oikos.corbee.com.br/')

# 等待Cloudflare验证界面消失,超时30秒
try:
    WebDriverWait(driver, 30).until(
        EC.invisibility_of_element_located((By.CSS_SELECTOR, ".cf-turnstile-wrapper"))
    )
except:
    # 自动等待超时后,提示手动完成验证
    input("请完成页面上的Cloudflare验证,按回车继续...")
  1. 修正登录流程顺序:确保验证完成后再切换iframe并操作登录框,替换原代码中sleep(5)及后续的固定等待逻辑。

额外实用建议

  • 随机操作间隔:用random.uniform(1, 3)代替固定sleep,模拟真实用户的操作节奏,降低被检测概率
  • 静态住宅代理:如果IP被Cloudflare标记,使用静态住宅代理更换访问IP,避免数据中心IP被拦截
  • 尝试专用工具:若以上方法无效,可改用undetected-chromedriver——这是针对反爬机制优化的Selenium分支,能更高效绕过Cloudflare检测

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 20:05:05