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

Python使用Selenium webdriver被Cloudflare拦截如何解决?

规避Cloudflare拦截Selenium webdriver的可行方案
  • 替换原生chromedriver为undetected-chromedriver,该工具专门针对反爬指纹识别机制优化,可自动抹除webdriver的特征标记,无需手动调整大量启动参数。安装命令为pip install undetected-chromedriver,调用逻辑和原生Selenium基本一致,适配所有主流Chrome版本。
  • 优化浏览器启动配置,除已测试的参数外,补充以下配置项:
    • 调用本地真实Chrome用户配置文件,不要使用无痕模式的空白浏览环境,参数示例:options.add_argument("--user-data-dir=你的本地Chrome配置文件路径")
    • 新增启动参数:options.add_argument("--start-maximized")、options.add_argument("--disable-extensions")、options.add_argument("--disable-gpu"),设置和普通用户一致的启动场景
  • 覆盖浏览器底层指纹特征,驱动启动后优先执行CDP注入命令,抹除webdriver标识:
    driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
      "source": "Object.defineProperty(navigator, 'webdriver', {get: () => undefined})"
    })
    
    同时同步修改navigator.plugins、navigator.languages、screen.height等指纹字段,取值和真实普通浏览器保持一致。
  • 模拟人类访问行为,不要直接调用get()方法访问目标站点,先访问第三方公共站点等待35秒后再跳转目标页,所有点击、输入、滑动操作都加入0.52秒的随机等待时间,避免请求频率过于规律被识别。
  • 调整IP使用策略,VPN的IP大多是已被Cloudflare标记的机房出口IP,更换为ISP级静态住宅代理,每个IP访问目标站点不超过5次就轮换,同时保证请求头的时区、语言设置和IP归属地完全匹配。
  • 替换自动化工具方案,上述配置都测试无效的情况下,换用Playwright替代Selenium,Playwright原生的指纹隐藏能力更强,无需额外配置即可绕过大部分中等级别的Cloudflare验证规则。

内容的提问来源于stack exchange,提问作者Вадим Лепишко

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 19:48:01