Menukar Fokus kepada Windows Baharu dalam Selenium dengan Python
Apabila mengautomasikan interaksi penyemak imbas menggunakan Selenium dalam Python, pengendalian berbilang tetingkap penyemak imbas boleh menimbulkan cabaran. Artikel ini meneroka cara untuk menukar fokus secara berkesan daripada tetingkap halaman utama kepada tetingkap yang baru dibuka.
Isu timbul apabila mengklik pautan pada halaman utama membuka tetingkap baharu, meninggalkan fokus pada pemacu web halaman utama, menghalang sebarang tindakan dalam tetingkap baharu. Untuk menangani isu ini, adalah penting untuk memahami konsep pemegang tetingkap.
Mengenalpasti Pemegang Tetingkap
Setiap tetingkap penyemak imbas mempunyai pemegang tetingkap yang unik, yang boleh diambil menggunakan harta pemandu.window_handles. Sifat ini mengembalikan senarai rentetan, setiap satu mewakili pemegang tetingkap.
Menukar Fokus Tetingkap
Untuk menukar fokus kepada tetingkap tertentu, gunakan driver.switch_to.window () kaedah, yang mengambil pemegang tetingkap sebagai hujah. Contohnya:
window_before = driver.window_handles[0] # Store the handle of the home page window driver.find_element_by_link_text("New Window").click() # Click a link that opens a new window window_after = driver.window_handles[1] # Store the handle of the newly opened window driver.switch_to.window(window_after) # Switch focus to the newly opened window
Kod ini menunjukkan cara menyimpan pemegang tetingkap halaman utama sebelum mengklik pautan dan kemudian menyimpan pemegang tetingkap yang baru dibuka. Akhir sekali, kaedah driver.switch_to.window() menukar fokus kepada tetingkap baharu, membenarkan interaksi lanjut di dalamnya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Fokus Antara Windows Penyemak Imbas Menggunakan Selenium dalam Python dengan Berkesan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!