Bertukar kepada Windows Baharu dalam Selenium untuk Python
Dalam Selenium untuk Python, mengendalikan berbilang tetingkap penyemak imbas boleh menimbulkan cabaran. Apabila tetingkap baharu dibuka selepas mengklik pautan, tumpuan kekal pada tetingkap asal, menghalang tindakan daripada dilakukan dalam tetingkap baharu. Untuk menangani isu ini, anda perlu menukar fokus pemandu ke tetingkap baharu.
Menentukan Nama Tetingkap
Kaedah driver.switch_to.window() memerlukan nama tingkap. Walau bagaimanapun, Selenium tidak menyediakan cara langsung untuk mendapatkan nama ini. Sebaliknya, anda boleh menggunakan atribut window_handles untuk mendapatkan senarai pemegang tetingkap, yang merupakan pengecam unik.
Menukar Fokus kepada Tetingkap Baharu
Berikut ialah langkah-langkah untuk cara menukar fokus kepada tetingkap baharu:
Contoh Kod
Kod Python berikut menggambarkan cara mengendalikan berbilang tetingkap penyemak imbas dan menukar fokus kepada tetingkap baharu:
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()
Atas ialah kandungan terperinci Bagaimana untuk Beralih ke Tetingkap Baharu dalam Selenium untuk Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!