Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Menunggu Pelbagai Elemen untuk Dimuatkan dalam Python Selenium?

Bagaimana Menunggu Pelbagai Elemen untuk Dimuatkan dalam Python Selenium?

Patricia Arquette
Patricia Arquetteasal
2024-10-30 03:29:28320semak imbas

How to Wait for Multiple Elements to Load in Python Selenium?

Python Selenium: Menunggu Memuatkan Pelbagai Elemen

Tugas anda melibatkan memastikan senarai dinamik, dimuatkan melalui AJAX, mempunyai berbilang elemen li sebelum ini meneruskan. Senarai pada mulanya memaparkan mesej memuatkan sebelum kandungan sebenar tersedia.

Penyelesaian Menggunakan WebDriverWait dengan Syarat Tersuai

Pendekatan yang disyorkan ialah menggunakan WebDriverWait dengan fungsi lambda untuk tentukan syarat tersuai. Fungsi ini membolehkan anda mengesahkan bahawa bilangan elemen yang terletak melebihi minimum yang ditetapkan:

<code class="python">from selenium.webdriver.support import expected_conditions as EC

num_elements = 1
WebDriverWait(driver, timeout).until(
    lambda d: len(d.find_elements_by_css_selector('ul.ltr li[id^="t_b_"] a[id^="t_a_"]')) > num_elements
)</code>

Pendekatan Alternatif

  • Menggunakan ExpectedConditions.presence_of_element_located (): Syarat ini mengesahkan kehadiran elemen tertentu, tetapi ia tidak menjamin keterlihatan atau keadaannya.
  • Menggunakan ExpectedConditions.visibility_of_all_elements_located(): Syarat ini memastikan bahawa semua elemen dalam pengesan kelihatan. Ini boleh digunakan untuk menunggu bilangan tertentu elemen yang boleh dilihat, tetapi ia memerlukan elemen untuk hadir dalam DOM dari awal.

Nota

Pencari CSS_SELECTOR dan XPATH yang digunakan dalam contoh kod boleh diubah suai untuk memadankan pengecam elemen khusus anda.

Rujukan:

  • [Cara menunggu nombor elemen yang akan dimuatkan menggunakan Selenium dan Python](https://stackoverflow.com/questions/27176170/how-to-wait-for-number-of-elements-to-be-loaded-using-selenium-and-python )
  • [Mendapatkan elemen khusus dalam selenium](https://stackoverflow.com/questions/35383413/getting-specific-elements-in-selenium)

Atas ialah kandungan terperinci Bagaimana Menunggu Pelbagai Elemen untuk Dimuatkan dalam Python Selenium?. 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