CAPSOLVER
博客
如何使用 Selenium 解决 Cloudflare Turnstile 验证码

如何使用 Selenium 解决 Cloudflare Turnstile 验证码

Logo of CapSolver

Ethan Collins

Pattern Recognition Specialist

11-Oct-2024

您的网页爬虫是否因 Cloudflare 阻止请求而苦苦挣扎? Cloudflare 的 Turnstile 验证码旨在识别和阻止自动化流量,这为网页爬取和自动化带来了巨大的挑战。 但是,通过利用 Selenium 之类的无头浏览器,您可以有效地克服这些障碍。 也就是说,标准 Selenium 设置仍然可能会触发 Cloudflare 的复杂反机器人防御机制。

在本博客中,我们将讨论几种使用 Selenium 克服 Cloudflare Turnstile 验证码的有效技术。

了解 Cloudflare Turnstile 验证码

Cloudflare Turnstile 验证码是旨在区分人类用户和自动化机器人的高级挑战。 与传统的 CAPTCHA 不同,Turnstile 利用各种基于行为和交互的评估,例如分析鼠标移动、点击模式和其他交互指标,以确定用户的合法性。

为什么选择 Selenium?

Selenium 是一个强大的网页浏览器自动化工具,它允许您模拟用户操作,例如点击、表单提交和导航。 但是,由于其自动化的性质,传统的 Selenium 设置仍然可能被 Cloudflare 的安全系统标记。 为了有效地管理 Turnstile 验证码,将 Selenium 与其他工具和技术集成可以显着提高您的网页爬取成功率。

使用 Selenium 解决 Cloudflare Turnstile 验证码的有效技术

1. 实现 CapSolver

解决 CAPTCHA 的最有效方法之一是利用像 CapSolver 这样的 CAPTCHA 解决服务。 该服务利用先进的算法和人工解算器来快速准确地解决各种 CAPTCHA 类型,包括 Cloudflare Turnstile。

奖励代码

难以完全解决令人讨厌的验证码的重复失败?

使用 Capsolver 人工智能驱动的自动网页解锁技术发现无缝自动验证码解决!

领取您的奖励代码,以获取顶级的验证码解决方案;CapSolver: WEBS。 兑换后,每次充值后您将获得额外的 5% 奖励,无限次

实现步骤:

  1. 注册一个 CapSolver 帐户
  2. 将 CapSolver 的 API 集成到您的 Selenium 脚本中。

示例代码:

python 复制代码
# pip install requests
import requests
import time
 
api_key = "YOUR_API_KEY"  # 您的 capsolver api 密钥
site_key = "0x4XXXXXXXXXXXXXXXXX"  # 您目标网站的站点密钥
site_url = "https://www.yourwebsite.com"  # 您目标网站的页面网址
 
def capsolver():
    payload = {
        "clientKey": api_key,
        "task": {
            "type": 'AntiTurnstileTaskProxyLess',
            "websiteKey": site_key,
            "websiteURL": site_url,
            "metadata": {
                "action": ""  # 可选
            }
        }
    }
    res = requests.post("https://api.capsolver.com/createTask", json=payload)
    resp = res.json()
    task_id = resp.get("taskId")
    if not task_id:
        print("Failed to create task:", res.text)
        return
    print(f"Got taskId: {task_id} / Getting result...")
 
    while True:
        time.sleep(1)  # 延迟
        payload = {"clientKey": api_key, "taskId": task_id}
        res = requests.post("https://api.capsolver.com/getTaskResult", json=payload)
        resp = res.json()
        status = resp.get("status")
        if status == "ready":
            return resp.get("solution", {}).get('token')
        if status == "failed" or resp.get("errorId"):
            print("Solve failed! response:", res.text)
            return
 
token = capsolver()
print(token)

在此代码中,将 YOUR_API_KEY、0x4XXXXXXXXXXXXXXXXX 和 https://www.yourwebsite.com 分别替换为您的实际 CapSolver API 密钥、目标网站的站点密钥以及您要定位的页面的 URL。 此脚本将创建一个任务来解决 Turnstile 验证码并返回解决方案令牌。

2. 使用未检测到的 ChromeDriver

为了避免被 Cloudflare 检测到,使用 ChromeDriver 的未检测版本至关重要。 Cloudflare 的反机器人系统可以轻松识别标准 ChromeDriver 实例,从而导致 CAPTCHA 挑战。 未检测到的 ChromeDriver 会修改浏览器的指纹和行为,以最大限度地减少检测机会。

实现步骤:

  1. 下载一个未检测到的 ChromeDriver 包,例如 undetected-chromedriver
  2. 将 Selenium 配置为使用此修改后的版本。

示例代码:

python 复制代码
from undetected_chromedriver.v2 import Chrome, ChromeOptions

options = ChromeOptions()
options.add_argument('--headless')  # 如果需要,使用无头模式
driver = Chrome(options=options)

driver.get('https://example.com')
# 执行必要的操作并处理 CAPTCHA

3. 利用 SeleniumBase

SeleniumBase 是 Selenium 的一个扩展,它增强了网页爬取的功能和易用性。 它简化了网页交互的管理并更有效地自动化复杂的任务。

实现步骤:

  1. 通过 pip 安装 SeleniumBase:

    bash 复制代码
    pip install seleniumbase
  2. 使用 SeleniumBase 的功能来管理网页交互并处理 CAPTCHA。

示例代码:

python 复制代码
from seleniumbase import BaseCase

class MyTestClass(BaseCase):
    def test_example(self):
        self.open('https://example.com')
        # 执行必要的操作并处理 CAPTCHA

4. 使用 Selenium Stealth 插件

Selenium Stealth 插件有助于掩盖您的自动化工作,使 Cloudflare 更难检测到机器人使用情况。 此插件会修改浏览器行为以模拟真实的用

合规声明: 本博客提供的信息仅供参考。CapSolver 致力于遵守所有适用的法律和法规。严禁以非法、欺诈或滥用活动使用 CapSolver 网络,任何此类行为将受到调查。我们的验证码解决方案在确保 100% 合规的同时,帮助解决公共数据爬取过程中的验证码难题。我们鼓励负责任地使用我们的服务。如需更多信息,请访问我们的服务条款和隐私政策。

更多

如何在AI工作流程中使用Playwright Stealth绕过Cloudflare Turnstile
如何在AI工作流中使用Playwright隐身模式处理Cloudflare Turnstile

了解如何通过使用Playwright隐身技术以及CapSolver实现可靠的验证码解决,从而有效处理AI工作流中的Cloudflare Turnstile。学习实用的集成策略和最佳实践,以实现无缝自动化。

Cloudflare
Logo of CapSolver

Nikolai Smirnov

17-Mar-2026

如何解决网页爬虫中的Cloudflare保护问题
如何在网页爬取时解决Cloudflare防护

学习在网页爬取时如何绕过Cloudflare的防护措施。探索如IP轮换、TLS指纹识别和CapSolver等经过验证的方法,以应对挑战。

Cloudflare
Logo of CapSolver

Aloísio Vítor

05-Feb-2026

如何绕过Cloudflare人机验证而不被困住
如何通过Cloudflare验证你是人类而不被困

卡在“验证你是人类”或“Cloudflare Challenge”?了解常见原因并发现自动化系统每次都能通过验证的技术解决方案。

Cloudflare
Logo of CapSolver

Lucas Mitchell

19-Jan-2026

理解 Cloudflare 1010 错误以及如何解决它
理解 Cloudflare 1010 错误及如何解决

学习如何解决Cloudflare 1010错误,通常称为“访问被拒绝:坏机器人”。了解此错误背后的原因,并发现实用的解决方案,包括集成CapSolver,以绕过Cloudflare的安全检查并确保无缝访问网站。

Cloudflare
Logo of CapSolver

Ethan Collins

04-Jan-2026

如何确定在使用 CapSolver 扩展解决 Cloudflare Turnstile 时是否需要 cData
如何识别是否需要使用 CapSolver 扩展程序解决 Cloudflare 人形验证码

学习如何识别用于Cloudflare Turnstile高效验证码解决的cData。遵循我们关于使用Capsolver工具和技巧的分步指南。

Cloudflare
Logo of CapSolver

Sora Fujimoto

31-Dec-2025

解决 Cloudflare 转门
如何解决 Cloudflare Turnstile?

使用 CapSolver API 高效解决 Cloudflare Turnstile。学习创建任务、管理代理并快速获取结果,以实现更流畅的网络交互

Cloudflare
Logo of CapSolver

Ethan Collins

24-Dec-2025