CaptchaNo
[ الوكلاء ]

حل الكابتشا
لوكلاء ⁦Browser Use⁩

الوكيل الذي يصادف تحديًا لا يملك في مجموعة أدواته ما يجيب عنه، فيتوقف أو يلتف عليه بالهلوسة. زوّده بأداة حل، فيصبح العائق مجرد استدعاء آخر.

python · browser use
import time
import requests

CAPTCHANO_KEY = "cn-YOUR_API_KEY"
HEADERS = {"Authorization": f"Bearer {CAPTCHANO_KEY}"}

def solve(task: dict) -> dict:
    """Block until solved; returns e.g. {"token": "...", "userAgent": "..."}."""
    r = requests.post(
        "https://api.captchano.com/v1/solve",
        params={"wait": 60},
        json=task,
        headers=HEADERS,
        timeout=75,
    )
    data = r.json()
    # A solve can outlast the 60 s wait: poll the task until it finishes.
    while data.get("status") in ("queued", "solving"):
        time.sleep(5)
        data = requests.get(
            f"https://api.captchano.com/v1/task/{data['id']}",
            headers=HEADERS,
            timeout=30,
        ).json()
    if data.get("status") != "ready":
        raise RuntimeError(data.get("error") or data)
    return data["solution"]

from browser_use import Agent, Tools, ActionResult

tools = Tools()

@tools.action("Solve a captcha that is blocking the current page")
def solve_captcha(kind: str, sitekey: str, url: str) -> ActionResult:
    solution = solve({"type": kind, "sitekey": sitekey, "url": url})
    return ActionResult(extracted_content=solution["token"])

agent = Agent(task="...", llm=llm, tools=tools)

لماذا يحتاج الوكلاء إلى هذا تحديدًا

أداة الـ scraping التي تصطدم بتحدٍّ تفشل بشكل واضح فتصلحها. أما الوكيل فيفشل بصمت: يستنتج حول الصفحة المحجوبة، ويختلق خطوة تالية معقولة، ويبلّغ عن تقدم لم يحققه قط. والفشل هنا أسوأ لأنه صامت. أداة حل محددة النوع تحوّل الطريق المسدود الغامض إلى نتيجة حتمية يستطيع الوكيل بناء قراراته عليها.

ما الذي تعيده الأداة

  • رمز token أو ملف cookie — بحسب نوع التحدي. الأنظمة التي تقيّم الجلسة تعيد ملف cookie مع مجموعة الترويسات (headers) المستخدمة للحصول عليه.
  • وكيل المستخدم المستخدَم، كي يعيد الوكيل استخدامه عند الإرسال.
  • تكلفة عملية الحل، كي يتمكن الوكيل العامل ضمن ميزانية من احتسابها بدلًا من الإنفاق دون رؤية.

إبقاء الحلقة محدودة

امنح الوكيل ميزانية حل لكل تشغيل. تبلّغ كل استجابة عن تكلفتها، لذا يمكن لجهة الإشراف قطع الحلقة عندما يتجاوز الإنفاق حدًا معينًا بدلًا من اكتشاف ذلك في الفاتورة. بسعر ⁦$0.00598⁩ لكل عملية حل، تكلف عملية تشغيل الوكيل المعتادة بضعة سنتات أو أقل، لكن حلقة إعادة المحاولة غير المحدودة تبقى حلقة غير محدودة.

اجعل استدعاء الأداة متزامنًا (blocking)

تستدعي الأمثلة ?wait=60، فتعيد الأداة رمز token جاهزًا في خطوة واحدة. وهذا أهم للوكلاء منه للسكربتات: الأداة التي تعيد "ما زال الحل جاريًا" تجبر النموذج على التفكير في الاستطلاع الدوري (polling)، وهو ما يجيده بشكل سيئ. إذا احتجت إلى سقف أطول، فارفع wait حتى 120 ثانية. أشكال الطلبات لكل أنواع التحديات موجودة في مرجع API.

[ موقعه في سير العمل ]

كيف تندمج عملية الحل في ⁦Browser Use⁩

يتيح لك Browser Use تسجيل إجراءات مخصصة. يقرأ إجراء الحل sitekey من الصفحة الحالية، ويحصل على رمز token ويدرجه، فيتابع الوكيل عمله في المتصفح نفسه.

  1. 01
    سجّل إجراءً

    أضف إجراء حل إلى أدوات الوكيل مع وصف واضح.

  2. 02
    اقرأ الصفحة الحالية

    يقرأ الإجراء sitekey وعنوان URL من جلسة المتصفح المتوفرة لديه بالفعل.

  3. 03
    الحل والإدراج

    استدعِ API، ثم أدرج الرمز token في الصفحة نفسها.

  4. 04
    أبلغ بالنتيجة

    أعِد نتيجة قصيرة كي يعرف الوكيل أنه يستطيع المتابعة.

إدخال الرمز token في الصفحة

يشغّل الإجراء JavaScript في صفحة الوكيل نفسها لملء الحقل وتشغيل callback.

[ المزالق ]

أين تخطئ عمليات التكامل عادةً

بروكسي مختلف

أرسل البروكسي الذي يستخدمه متصفح الوكيل كي يتشارك الرمز token والصفحة عنوان IP نفسه.

الوكيل ينقر على مربع الاختيار

أخبر الوكيل في وصف الإجراء ألا ينقر على الأداة بنفسه؛ فالإجراء يتولى ذلك.

[ الأسئلة الشائعة ]

الأسئلة الشائعة حول الكابتشا في ⁦Browser Use⁩

هل يحل Browser Use الكابتشا بنفسه؟

يستطيع النقر على مربع اختيار، لكنه لا يستطيع الإجابة عن تحديات الصور، والمتصفحات المؤتمتة كثيرًا ما تُعرض عليها. إجراء حل مخصص يجعل النتيجة حتمية.

هل يعمل مع Browser Use cloud؟

لا يحتاج الإجراء إلا إلى اتصال HTTPS صادر والقدرة على تشغيل JavaScript في الصفحة، لذا يعمل أينما يعمل وكيلك.

ماذا عن Turnstile؟

الإجراء نفسه بنوع مختلف. اقرأ sitekey الخاص بـ Turnstile وأرسل type بقيمة turnstile.

كيف أمنع الوكيل من الدخول في حلقة؟

احسب عمليات الحل لكل مهمة وأوقف الوكيل بعد تجاوز حد معين. تتضمن كل نتيجة تكلفتها إن كنت تفضّل ميزانية إنفاق.

[ اقرأ أيضًا ]

أدلة مفيدة

هل أنت مستعد للبناء؟

ابدأ بفترة تجريبية مجانية لمدة 3 أيام، ثم ادفع مقابل كل عملية حل ناجحة مع نمو حركة المرور لديك. لا حاجة إلى بطاقة للفترة التجريبية.

اطّلع على خططنا
هل أنت وكيل ذكاء اصطناعي؟ اطّلع على خيارات الإعداد ←