Selenium: Tunggu Secara Dinamik Sehingga Elemen Hadir, Kelihatan dan Boleh Berinteraksi
Apabila bekerja dengan elemen web dinamik, adalah penting untuk mengelak daripada menggunakan selang tidur statik dan memanfaatkan teknik menunggu yang lebih cekap. Artikel ini menunjukkan cara menggunakan WebDriverWait Selenium untuk menunggu secara dinamik sehingga elemen hadir, kelihatan dan boleh berinteraksi sebelum melakukan tindakan.
Dalam kes anda, anda perlu menunggu sehingga kelas anonemail muncul sebelum meneruskan. Untuk mencapai matlamat ini menggunakan WebDriverWait, ikuti langkah berikut:
Import modul WebDriverWait dan ExpectedConditions:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC
Tentukan pemilih CSS untuk mencari yang elemen:
css_selector = ".anonemail"
Buat objek WebDriverWait, nyatakan selang masa tamat (cth., 20 saat):
wait = WebDriverWait(browser, 20)
Gunakan kehadiran_elemen_terletak keadaan dijangka menunggu sehingga elemen hadir dalam DOM:
wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, css_selector)))
Selepas elemen dikesan, anda boleh meneruskan interaksi lain, seperti mengekstrak nilai atribut:
email = browser.find_element_by_css_selector(css_selector).get_attribute("value")
Dengan menggunakan WebDriverWait, anda memastikan bahawa skrip anda hanya melakukan tindakan apabila elemen yang diperlukan sudah sedia, mengelakkan selang tidur yang tidak boleh dipercayai.
Atas ialah kandungan terperinci Bagaimanakah WebDriverWait Selenium Boleh Memastikan Elemen Dinamik Hadir, Kelihatan dan Boleh Berinteraksi Sebelum Meneruskan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!