Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Beralih Antara Windows Pelayar Berbilang dalam Selenium dengan Python?

Bagaimana untuk Beralih Antara Windows Pelayar Berbilang dalam Selenium dengan Python?

Susan Sarandon
Susan Sarandonasal
2024-11-08 00:53:02444semak imbas

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

Cara Mengendalikan Berbilang Windows Pelayar dalam Selenium dengan Python

Apabila bekerja dengan automasi Selenium, anda mungkin menghadapi situasi di mana berbilang tetingkap penyemak imbas muncul. Memandangkan tumpuan kekal pada tetingkap pertama yang dibuka, menavigasi atau melakukan tindakan dalam tetingkap berikutnya menjadi mencabar. Untuk menangani perkara ini, kaedah utama ialah pemandu.switch_to.window().

Mencari Nama Tetingkap

Bertentangan dengan tanggapan bahawa driver.switch_to.window( ) memerlukan nama tetingkap, sebaliknya berfungsi pada pemegang tetingkap. Menentukan pemegang tetingkap boleh dicapai menggunakan sifat window_handles.

Cara Menukar ke Tetingkap Baharu

Untuk menukar fokus kepada tetingkap yang baru dibuka, ikuti langkah berikut:

  1. Sebelum mengklik pautan yang mencetuskan tetingkap baharu, rekod pemegang tetingkap semasa menggunakan:
window_before = driver.window_handles[0]
  1. Selepas mengklik pautan, dapatkan semula pemegang tetingkap tetingkap baharu:
window_after = driver.window_handles[1]
  1. Gunakan kaedah switch_to.window(window_handle) untuk mengarahkan fokus:
driver.switch_to.window(window_after)

Contoh

Pertimbangkan kod berikut yang menavigasi antara berbilang tetingkap:

import unittest
from selenium import webdriver

class WindowHandling(unittest.TestCase):

    def setUp(self):
        self.driver = webdriver.Firefox()

    def test_window_switch(self):
        driver = self.driver
        driver.get("http://www.cdot.in")
        window_before = driver.window_handles[0]
        driver.find_element_by_xpath("//a[@href='http://www.cdot.in/home.htm']").click()
        window_after = driver.window_handles[1]
        driver.switch_to.window(window_after)
        driver.find_element_by_link_text("ATM").click()
        driver.switch_to.window(window_before)

    def tearDown(self):
        self.driver.close()

if __name__ == "__main__":
    unittest.main()

Atas ialah kandungan terperinci Bagaimana untuk Beralih Antara Windows Pelayar Berbilang dalam Selenium dengan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn