Cara Mengurus Berbilang Windows Pelayar Menggunakan Selenium dalam Python
Dalam bidang automasi web yang luas, selalunya perlu berinteraksi dengan berbilang tetingkap atau tab penyemak imbas. Selenium, rangka kerja automasi peneraju industri, memperkasakan pembangun Python dengan keupayaan untuk mengemudi cabaran ini dengan lancar.
Satu senario biasa yang dihadapi semasa ujian web ialah pembukaan tetingkap penyemak imbas baharu apabila mengklik pautan. Untuk melaksanakan tindakan dengan berkesan dalam tetingkap yang baru dibuka, kita mesti mengalihkan fokus daripada tetingkap latar belakang.
Mencari Pemegang Tetingkap Sasaran
Sebelum beralih ke tetingkap baharu , kita perlu mengenal pasti pemegangnya. Pengecam unik ini mewakili contoh tetingkap tertentu. Untuk mendapatkan semula pemegang, kami menggunakan kaedah driver.window_handles, yang mengembalikan senarai semua pemegang tetingkap terbuka. Pemegang tetingkap yang sedang difokuskan akan menjadi elemen pertama dalam senarai ini.
Bertukar kepada Tetingkap Baharu
Sekarang kita mempunyai pemegang tetingkap sasaran, kita boleh beralih kepadanya menggunakan kaedah driver.switch_to.window(handle). Melepasi pemegang sasaran dengan berkesan mengalihkan fokus ke tetingkap yang sepadan, membolehkan kami melakukan tindakan dalam konteksnya.
Contoh Kod
Kod Python berikut menggambarkan cara untuk beralih kepada tetingkap yang baru dibuka:
import unittest from selenium import webdriver class GoogleOrgSearch(unittest.TestCase): def setUp(self): self.driver = webdriver.Firefox() def test_google_search_page(self): driver = self.driver driver.get("http://www.cdot.in") window_before = driver.window_handles[0] print(window_before) 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) print(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()
Dalam contoh ini, kami mengakses tapak web "http://www.cdot.in" dan mengklik pautan untuk membuka tetingkap baharu. Kami kemudian mendapatkan semula pemegang dua tetingkap dan beralih kepada yang baru dibuka untuk melakukan tindakan selanjutnya.
Atas ialah kandungan terperinci Bagaimana untuk Beralih Antara Windows Pelayar Berbilang Menggunakan Selenium dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!