Python Selenium:等待載入多個元素
您的任務涉及確保透過AJAX 載入的動態清單之前具有多個li 元素進行中。在實際內容可用之前,清單最初會顯示一則載入訊息。
使用具有自訂條件的 WebDriverWait 的解決方案
建議的方法是使用帶有 lambda 函數的 WebDriverWait定義自訂條件。此函數可讓您驗證定位元素的數量是否超過指定的最小值:
<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>
替代方法
此條件確保定位器中的所有元素都是可見的。這可用於等待特定數量的可見元素,但它要求元素從一開始就存在於 DOM 中。
注意
程式碼範例中使用的CSS_SELECTOR和XPATH定位器可以修改以符合您的特定元素識別碼。
以上是如何在 Python Selenium 中等待多個元素載入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!