"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية التبديل بين نوافذ المتصفح المتعددة باستخدام السيلينيوم في بيثون؟

كيفية التبديل بين نوافذ المتصفح المتعددة باستخدام السيلينيوم في بيثون؟

نشر في 2025-02-06
تصفح:227

How to Switch Between Multiple Browser Windows Using Selenium in Python?

Windows أو علامات التبويب المتصفح. يمكّن سيلينيوم ، وهو إطار أتمتة رائدة في الصناعة ، مطوري Python من خلال القدرة على التنقل في هذه التحديات بسلاسة.

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

، نحن بحاجة إلى تحديد مقبضه. يمثل هذا المعرف الفريد مثيل النافذة المحدد. لاسترداد المقابض ، نستخدم برنامج التشغيل. window_handles ، والتي تُرجع قائمة بجميع مقابض النوافذ المفتوحة. سيكون مقبض النافذة المركزة حاليًا العنصر الأول في هذه القائمة.

يمكننا التبديل إليها باستخدام طريقة driver.switch_to.window (مقبض). إن تمرير المقبض الهدف ينقل بشكل فعال التركيز إلى النافذة المقابلة ، مما يسمح لنا بإجراء الإجراءات في سياقه.

قم بالتبديل إلى نافذة مفتوحة حديثًا:

استيراد unittest من السيلينيوم استيراد webdriver class GoogleorgSearch (unittest.testcase): إعداد DEF (الذات): self.driver = webdriver.firefox () def test_google_search_page (الذات): السائق = self.driver driver.get ("http://www.cdot.in") window_before = driver.window_handles [0] طباعة (window_before) driver.find_element_by_xpath ("//a budap@href='http://www.cdot.in/home.htm ']") .click () window_after = driver.window_handles [1] driver.switch_to.window (window_after) طباعة (window_after) driver.find_element_by_link_text ("atm"). انقر فوق () driver.switch_to.window (window_before) def teardown (الذات): self.driver.close () إذا __name__ == "__main__": unittest.main ()

في هذا المثال ، نحن نصل إلى موقع "http://www.cdot.in" والنقر فوق رابط لفتح نافذة جديدة. ثم نقوم باسترداد مقابض النوافذ والتبديل إلى الإجراء الذي تم فتحه حديثًا لإجراء المزيد من الإجراءات.

أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3