"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية حل InvalidSelectorException مع \"span:contains(\'String\')\" في السيلينيوم؟

كيفية حل InvalidSelectorException مع \"span:contains(\'String\')\" في السيلينيوم؟

تم النشر بتاريخ 2024-11-06
تصفح:920

How to Resolve InvalidSelectorException with \

استثناء محدد غير صالح في السيلينيوم مع "span:contains('String')"

عند استخدام السيلينيوم في Python مع Firefox، محاولة العثور على عنصر باستخدام محدد CSS "span:contains('لوحة التحكم')" قد يؤدي إلى الخطأ التالي:

selenium.common.exceptions.InvalidSelectorException: Given css selector expression "span:contains('Control panel')" is invalid: InvalidSelectorError: 'span:contains('Control panel')' is not a valid selector: "span:contains('Control panel')"

يشير هذا الخطأ إلى أن CSS المقدم المحدد غير صالح. وفقًا للإصدار رقم 987 والإصدار رقم 1547، فإن الفئة الزائفة ":contains" غير مدعومة بواسطة Firefox أو Chrome.

الحل:

": يحتوي على" الفئة الزائفة ليست محدد CSS قياسي ويجب استبدالها بمحدد سمة بديل. على سبيل المثال:

element = "span[attribute_name=attribute_value]"

مسارات XPath البديلة:

إذا لم يكن محدد السمات كذلك المتاحة، يمكنك استخدام أحد مسارات XPath التالية:

element = my_driver.find_element_by_xpath("//span[text()='Control panel']")
element = my_driver.find_element_by_xpath("//span[contains(.,'Control panel')]")
element = my_driver.find_element_by_xpath("//span[normalize-space()='Control panel']")

jQuery البديل:

$('span:contains("Control panel")')

ملاحظة:

محددات CSS غير مدعومة في وحدة تحكم المتصفح، لكن JQuery توفر اختصارًا لـ document.querySelector. على هذا النحو، قد تدعم JQuery محددات CSS إذا تم تمكينها على الصفحة.

بيان الافراج أعيد طبع هذه المقالة على: 1729259896 في حالة وجود أي انتهاك، يرجى الاتصال بـ [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3