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

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

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-09 03:27:01743semak imbas

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

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!

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