Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah anda bertukar ke tetingkap baharu dalam Selenium untuk Python?

Bagaimanakah anda bertukar ke tetingkap baharu dalam Selenium untuk Python?

Mary-Kate Olsen
Lepaskan: 2024-11-09 08:35:02
asal
481 orang telah melayarinya

How do you switch to a new window in Selenium for Python?

Bertukar kepada Tetingkap Baharu dalam Selenium untuk Python

Dalam automasi Selenium menggunakan Python, mengendalikan berbilang tetingkap penyemak imbas adalah tugas biasa. Apabila pautan diklik yang membuka tetingkap baharu, tumpuan kekal pada tetingkap asal, menghalang tindakan daripada dilakukan dalam tetingkap baharu.

Untuk menukar fokus daripada tetingkap latar belakang kepada tetingkap yang baru dibuka, anda boleh menggunakan kaedah driver.switch_to.window(). Walau bagaimanapun, ini memerlukan mengetahui nama tetingkap.

Mencari Nama Tetingkap

Untuk mendapatkan semula nama tetingkap, anda boleh menggunakan sifat window_handles. Ia mengembalikan senarai pemegang tetingkap yang sedang aktif. Pemegang tetingkap untuk tetingkap asal boleh disimpan sebelum mengklik pautan:

window_before = driver.window_handles[0]
Salin selepas log masuk

Selepas mengklik pautan, pemegang tetingkap untuk tetingkap baharu boleh diperolehi:

window_after = driver.window_handles[1]
Salin selepas log masuk

Bertukar ke Tetingkap Baharu

Sebaik sahaja anda mempunyai pemegang tetingkap, anda boleh beralih ke tetingkap baharu menggunakan kaedah switch_to.window():

driver.switch_to.window(window_after)
Salin selepas log masuk

Kini, tumpuan adalah pada tetingkap baharu, membolehkan anda melakukan tindakan seperti mengklik elemen dan menavigasi halaman.

Kod Contoh

Kod berikut menunjukkan cara menukar ke tetingkap baharu dalam Selenium untuk Ular sawa:

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

Atas ialah kandungan terperinci Bagaimanakah anda bertukar ke tetingkap baharu dalam Selenium untuk 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