Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana Berkesan Menunggu Pelbagai Elemen untuk Dimuatkan dalam Selenium dengan Python?

Bagaimana Berkesan Menunggu Pelbagai Elemen untuk Dimuatkan dalam Selenium dengan Python?

Linda Hamilton
Linda Hamiltonasal
2024-10-28 23:52:30540semak imbas

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

Python: Menunggu Berbilang Elemen Dimuatkan

Senarai yang dimuatkan AJAX boleh memberikan cabaran untuk pengesahan keterlihatan dalam Selenium. Untuk menyemak dengan pasti sama ada senarai yang mengandungi berbilang elemen telah dimuatkan sepenuhnya, pertimbangkan pendekatan berikut:

Tunggu Eksplisit dengan WebDriverWait

Menggunakan WebDriverWait, anda boleh mendorong keadaan visibility_of_all_elements_located():

<code class="python">elements = WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, "ul.ltr li[id^='t_b_'] > a[id^='t_a_'][href]")))</code>

Sebagai alternatif, anda boleh menggunakan XPath:

<code class="python">elements = WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.XPATH, "//ul[@class='ltr']//li[starts-with(@id, 't_b_')]/a[starts-with(@id, 't_a_') and starts-with(., 'Category')]")))</code>

Menunggu Bilangan Elemen Tertentu

Untuk menunggu bilangan elemen tertentu, seperti 10, gunakan fungsi lambda :

<code class="python">myLength = 9
WebDriverWait(driver, 20).until(lambda driver: len(driver.find_elements_by_xpath("//ul[@class='ltr']//li[starts-with(@id, 't_b_')]/a[starts-with(@id, 't_a_') and starts-with(., 'Category')]")) > int(myLength))</code>
<code class="python">myLength = 10
WebDriverWait(driver, 20).until(lambda driver: len(driver.find_elements_by_xpath("//ul[@class='ltr']//li[starts-with(@id, 't_b_')]/a[starts-with(@id, 't_a_') and starts-with(., 'Category')]")) == int(myLength))</code>

Nota Tambahan

  • Ingat untuk mengimport pakej Selenium yang diperlukan.
  • Pastikan bahawa pencari yang digunakan adalah unik dan khusus kepada yang dikehendaki elemen.
  • Pertimbangkan untuk meneroka perbincangan dan rujukan yang disediakan untuk mendapatkan cerapan lanjut.

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