如何在 Python Selenium 中等待多個元素載入?

Patricia Arquette
發布: 2024-10-30 03:29:28
原創
223 人瀏覽過

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

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>
登入後複製

替代方法

  • 使用ExpectedConditions.
  • 使用ExpectedConditions.presence_felence_located (): 此條件驗證指定元素是否存在,但不保證其可見性或狀態。
使用 ExpectedConditions.visibility_of_all_elements_ located():

此條件確保定位器中的所有元素都是可見的。這可用於等待特定數量的可見元素,但它要求元素從一開始就存在於 DOM 中。

注意

程式碼範例中使用的CSS_SELECTOR和XPATH定位器可以修改以符合您的特定元素識別碼。

    參考:
  • [如何等待數字使用Selenium 和Python 載入的元素數量](https://stackoverflow.com/questions/27176170/how -to-wait-for-number-of-elements-to-be-loaded-using-selenium-and-python )
[取得selenium 中的特定元素](https://stackoverflow.com/ questions/35383413/getting-specific-elements-in-selenium)

以上是如何在 Python Selenium 中等待多個元素載入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!