مشاكل النقر

الخطأ "العنصر غير قابل للنقر"

يعمل النقر على ChromeDriver عن طريق محاكاة نقرة الماوس في منتصف مستدير العميل الأول (أو ربط مستقيم العميل إذا لم يكن يحتوي على مربع العميل الأول). إنّ أسهل طريقة لاكتشاف المكان الذي يحاول فيه ChromeDriver النقر عليه هي فتح أدوات مطوّري البرامج في Chrome وفحص العنصر المطلوب النقر عليه مباشرةً قبل استدعاء عملية النقر. حدد العنصر في الفاحص ولاحظ المربعات الزرقاء التي تمثل ساحات العميل الخاصة بالعنصر، كما هو موضح في الصورة أدناه. سيحاول ChromeDriver النقر على منتصف الرمز الأول.

إذا عرض ChromeDriver الخطأ "العنصر غير قابل للنقر"، فمن المرجّح أن يكون هذا الموقع غير قابل للنقر. للاختبار، ضع المؤشر في منتصف العميل الأول مع وضع المؤشر بنفسك ومعرفة ما إذا كان هذا الموقع قابلاً للنقر.

في الحالة المذكورة أعلاه، كان الاختبار يحاول النقر على عنصر الارتساء. لا يمكن النقر على علامة الارتساء في هذه الحالة، بل يمكن فقط النقر على الصورة الثانوية. وبسبب وجود نمط margin-bottom في عنصر الصورة، يقع وسط عنصر الارتساء خارج حدود الصورة القابلة للنقر، وبالتالي يعرض ChromeDriver خطأ. لمزيد من المعلومات حول كيفية تحديد المكانة أو تحديد الحجم، يُرجى مراجعة مواصفات W3. لحلّ المشكلة أعلاه، انقر على الصورة بدلاً من علامة الارتساء.

غالبًا ما يحدث الخطأ "العنصر غير قابل للنقر" في الحالات التالية عندما يحاول الاختبار:

  • انقر على علامة الارتساء التي لا توجد عناصر تابعة لها قابلة للنقر ضمن حدود الارتساء (كما هو موضح أعلاه)
  • النقر على أحد العناصر بشكل كامل أو جزئي تحت عنصر آخر
  • انقر على عنصر خارج الشاشة عند وجود تراكب ثابت (سيتم تمرير العنصر إلى العرض، ولكن يمكن تمريره أسفل التراكب الثابت)
  • النقر على عنصر غير قابل للنقر في المنتصف (على سبيل المثال، بعض أنواع عناصر SVG المحدّبة)

يمكن حلّ هذه المشاكل غالبًا إما بالنقر على عنصر ثانوي للعنصر المحدد أو عن طريق إزالة عنصر الحظر أو إخفاؤه آليًا أو باستخدام واجهة برمجة تطبيقات التفاعلات المتقدّمة للنقر على إزاحة من أعلى يمين العنصر أو عن طريق محاكاة حدث النقر بالماوس في JavaScript.

الخطأ "العنصر غير قابل للنقر"

يحدث هذا على الأرجح بسبب تغيّر موقع العنصر بعض الوقت بعد تحديد ChromeDriver لموقع العنصر، ولكن قبل أن يصدر ChromeDriver نقرة في الموقع.

لتحديد ما إذا كانت هذه هي مشكلتك، اكتشف الاستثناء من النقرة وسجّل الموقع الحالي وحجم العنصر على الفور. قارن ذلك بالموقع الذي أبلغ عنه ChromeDriver الذي حاولت النقر فيه في الاستثناء واعرف ما إذا كانا مختلفين أم لا. إذا كان الأمر كذلك، فأنت بحاجة إلى انتظار توقف العنصر عن الحركة أو محاولة النقر مرة أخرى. إذا لم يكن الأمر كذلك، فأبلغ عن الخطأ في صفحة اختبارية صغيرة يمكن استخدامها لإعادة إنتاج المشكلة (حتى إذا كانت تؤدي إلى ظهور المشكلة من حين لآخر).

يتعذّر على ChromeDriver النقر على عنصر متحرّك

هذه الميزة غير متاحة في ChromeDriver. إذا توقف العنصر في النهاية، فانتظر حدوث ذلك. فإذا لم يتوقف العنصر عن الحركة أبدًا، لا يضمن ChromeDriver نجاح النقرة.