متصفح Chrome بدون واجهة رسومية في MCP واحد — التنقل والتقاط لقطات شاشة والنقر والملء. أبسط من Playwright عندما تحتاج فقط إلى Chromium.
MCP مرجعي مؤرشف لكن لا يزال يعمل من Anthropic. يقود Chromium بدون واجهة رسومية عبر Puppeteer: التنقل والتقاط لقطات الشاشة والنقر والملء والاختيار والتحويم والتقييم الاعتباطي للصفحة. بدون مميزات شجرة الإمكانية — تعمل مع محددات CSS. استخدم هذا عندما يبدو Playwright معقداً جداً.
متى تستخدمه: تحتاج إلى اختبار نموذج مع 20 متغيراً من الإدخال للتحقق من التحقق.
المتطلبات الأساسية
عنوان بيئة الاختبار — لا تعمل أبداً ضد الإنتاج — قم بإعداد مثيل إعداد
الخطوات
التنقل إلى النموذج
افتح https://staging.app/signup. التقط لقطة شاشة للتأكيد.✓ تم النسخ
→ تم تحميل الصفحة، النموذج مرئي
إرسال حالات الاختبار
لكل حالة اختبار [list: {email, password, expected_error}]، املأ الحقول، انقر فوق إرسال، التقط نص عنصر رسالة الخطأ.✓ تم النسخ
→ بالفعل مقابل المتوقع لكل حالة
الإبلاغ عن عدم المطابقة
ملخص: أي حالات نجحت، أي فشلت، ما كان الفجوة. التقط لقطة شاشة لكل فشل.✓ تم النسخ
→ تقرير اختبار مع الأدلة
النتيجة: تغطية التحقق بما يتجاوز ما تكتبه في مواصفة Playwright، في 10 دقائق.
المزالق
حالة النموذج السابقة تستمر بين التشغيلات — استدعِ puppeteer_navigate إلى عنوان URL جديد بين الحالات، أو امسح الحقول بوضوح باستخدام puppeteer_fill المستند إلى المحدد بتمرير سلسلة فارغة
البحث عن الصور المكسورة أو المفقودة على صفحة
👤 محافظو المحتوى/الوثائق⏱ ~10 minintermediate
متى تستخدمه: بعد الهجرة أو بعد تغيير CMS — الصور المكسورة شائعة ومحرجة.
الخطوات
تحميل الصفحة
افتح <URL>. انتظر ثانيتين لصور التحميل البطيء.✓ تم النسخ
→ تم تحميل الصفحة
البحث عن الصور المكسورة عبر التقييم
قم بتشغيل page.evaluate لإرجاع كل <img> حيث naturalWidth === 0 — تلك فشلت في التحميل. أرجع src و alt لكل واحدة.✓ تم النسخ
→ قائمة مصادر الصور المكسورة
كرر عبر الموقع
كرر لهذه 20 عنوان URL. أخرج CSV للصفحة، broken-img-src، alt-text.✓ تم النسخ
→ CSV قابل للتنفيذ
النتيجة: قائمة إصلاح محددة للصور المكسورة مع الصفحة التي تظهر فيها.
المزالق
لم يتم تفعيل الصور المحملة بطريقة كسولة بعد — مرر الصفحة أولاً باستخدام window.scrollTo(0, document.body.scrollHeight) عبر التقييم، ثم انتظر وتحقق
أعد إنتاج خطأ تم الإبلاغ عنه من Sentry بإعادة تشغيل مسار المستخدم
مسألة Sentry WEB-3a91 لها breadcrumbs يوضح أن المستخدم نقر فوق .checkout-btn ثم ملأ #card-number. أعد إنتاج ذلك في Puppeteer والتقط وحدة التحكم.✓ تم النسخ
الأدوات
ما يوفره هذا الـ MCP
الأداة
المدخلات
متى تستدعيها
التكلفة
puppeteer_navigate
url
افتح أو أعد التوجيه إلى عنوان URL
free
puppeteer_screenshot
name, selector?, width?, height?
التقط الصفحة أو عنصراً محدداً
disk space
puppeteer_click
selector
انقر على عنصر بواسطة محدد CSS
free
puppeteer_fill
selector, value
اكتب في مدخل
free
puppeteer_select
selector, value
اختر خياراً من <select>
free
puppeteer_hover
selector
افتح القوائم أو التلميحات التي تظهر عند التحويم فقط
free
puppeteer_evaluate
script
قم بتشغيل JS عشوائي في سياق الصفحة — الملاذ الأخير لأي شيء لا يمكن للمحددات القيام به
free
التكلفة والحدود
تكلفة التشغيل
حصة API
مجاني — التنفيذ المحلي
الرموز لكل استدعاء
لقطات الشاشة ليست رموزاً؛ المحددات/السلاسل صغيرة (~100 رمز لكل استدعاء)
التكلفة المالية
مجاني
نصيحة
استخدم puppeteer_evaluate لاستخراج بالضبط ما تحتاجه كـ JSON — لا تلتقط لقطة شاشة ثم OCR
الأمان
الصلاحيات والأسرار ونطاق الأثر
تخزين بيانات الاعتماد: لا تضع أبداً بيانات اعتماد المستخدم الحقيقي في الأوامر — استخدم حسابات QA مخصصة
نقل البيانات الخارجي: المتصفح يذهب أينما تنقله؛ لا شيء لناشر MCP
المستودع مؤرشف — لا توجد ميزات جديدة أو إصلاحات أمنية. فكر في الهجرة إلى MCP playwright لأي شيء مجاور للإنتاج.
استكشاف الأخطاء
الأخطاء الشائعة وحلولها
Error: Element not found
العنصر لم يتم عرضه بعد. أضف انتظاراً قصيراً عبر puppeteer_evaluate('await new Promise(r => setTimeout(r, 1000))') أو استخدم محدداً أكثر تحديداً ينتظر بشكل ضمني.
Chromium fails to launch on Linux/Docker
ثبّت التبعيات: apt-get install -y chromium-browser أو استخدم صورة Playwright MCP التي تحتوي على كل شيء مثبّت مسبقاً.
Screenshots are blank
الصفحة لم تُحمّل. بعد التنقل، انتظر عنصراً معروفاً: puppeteer_evaluate("document.querySelector('.main') !== null") في حلقة استطلاع قبل التقاط الشاشة.
البدائل
Puppeteer مقابل البدائل
البديل
متى تستخدمها
المقايضة
Playwright MCP
أي أتمتة متصفح جادة — الخيار الأفضل بصراحة
تثبيت أكبر قليلاً، لكن موثوقية أفضل عبر شجرة الإمكانية
Firecrawl MCP
تحتاج فقط إلى استخراج المحتوى، وليس التفاعل
مستضاف، يكلف أرصدة، لكنه يتعامل مع مكافحة الروبوت بشكل أفضل
browser-tools MCP
تريد فحص Chrome الحقيقي الخاص بك (مع الجلسات المسجلة الدخول والإضافات)