أداة اختبار محددات CSS
إدخال HTML
التطابقات
التفاصيل التقنية
كيف يعمل مُختبِر محددات CSS
ما الذي تفعله الأداة
يقوم مُختبِر محددات CSS بتقييم محددات CSS مقابل إدخال HTML ويُبرز بصريًا جميع العناصر المطابقة. تقوم بلصق أو كتابة HTML في لوحة، ثم إدخال محدد CSS، لترى فورًا العناصر التي تطابقه مع عدد إجمالي المطابقات. يوفّر ذلك تغذية راجعة فورية حول خصوصية المحدد ونطاقه دون الحاجة إلى فتح أدوات المطور في المتصفح أو تعديل صفحة حية.
حالات استخدام شائعة للمطورين
يستخدم مطورو الواجهة الأمامية هذه الأداة لصياغة محددات دقيقة للتنسيق، واختبار محددات الاستخلاص (scraping) مقابل HTML نموذجي قبل كتابة كود الاستخراج، وتصحيح سبب عدم استهداف قاعدة CSS للعناصر المقصودة. كما يتحقق مهندسو ضمان الجودة من محددات Cypress أو Playwright مقابل لقطات الصفحات. وهي مفيدة أيضًا لكتابة قواعد استخراج المحتوى لقارئات RSS أو محلّلات البريد الإلكتروني أو سكربتات أتمتة المتصفح عديم الواجهة.
تنسيقات البيانات أو أنواعها أو متغيراتها
تدعم الأداة مواصفة CSS Selectors Level 3 بالكامل بما في ذلك محددات النوع، ومحددات الصنف والمعرّف (ID)، ومحددات السمات مع العوامل ([attr^=value]، [attr$=value])، والفئات الزائفة (:nth-child، :not، :first-of-type)، وروابط الدمج (التابع، والابن >، والأخ المجاور +، والأخ العام ~)، والعناصر الزائفة (::before، ::after). كما يتم دعم المحددات المركبة المعقدة وقوائم المحددات (المفصولة بفواصل) دعمًا كاملًا.
المزالق الشائعة والحالات الطرفية
تعتمد مطابقة محددات CSS على بنية DOM المُحلَّلة، وليس على نص HTML الخام — فالوسوم غير المغلقة، والعناصر الضمنية (tbody)، وتصحيح أخطاء المتصفح قد تجعل DOM الفعلي يختلف عما تراه في المصدر. العناصر الزائفة (::before، ::after) ليست عقد DOM حقيقية ولا يمكن تحديدها عبر querySelector. تتطلب بادئات مساحة الأسماء في محتوى XML/SVG معالجة خاصة. قد تفشل المحددات شديدة الخصوصية التي تعمل على HTML نموذجي في صفحات الإنتاج ذات الترميز المختلف قليلًا.
متى تستخدم هذه الأداة بدلًا من الكود
استخدم هذه الأداة في المتصفح لتطوير المحددات بشكل تفاعلي والتحقق السريع مقابل مقتطفات HTML. أما لاستخلاص الويب في الإنتاج أو أتمتة الاختبارات، فاستخدم اختبار المحددات المدمج في إطار عملك (page.locator في Playwright، وpage.$ في Puppeteer) الذي يعمل على DOM المُعرَض فعليًا مع تنفيذ JavaScript والمحتوى الديناميكي واجتياز Shadow DOM والتعامل مع iframe، وهي أمور لا يمكن لمطابقة HTML الثابتة محاكاتها.