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

Susan Sarandon
Lepaskan: 2024-11-08 00:53:02
asal
451 orang telah melayarinya

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]
Salin selepas log masuk
  1. Selepas mengklik pautan, dapatkan semula pemegang tetingkap tetingkap baharu:
window_after = driver.window_handles[1]
Salin selepas log masuk
  1. Gunakan kaedah switch_to.window(window_handle) untuk mengarahkan fokus:
driver.switch_to.window(window_after)
Salin selepas log masuk

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()
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!