首頁 > 後端開發 > Python教學 > Selenium 如何有效地等待元素出現、可見且可互動?

Selenium 如何有效地等待元素出現、可見且可互動?

Mary-Kate Olsen
發布: 2024-12-27 12:21:11
原創
423 人瀏覽過

How Can Selenium Efficiently Wait for Elements to Be Present, Visible, and Interactable?

Selenium:等待元素存在、可見且可交互

在 Selenium 中,使用 sleep() 等待元素出現是不可取的。 Selenium API 提供了更明確的等待機制,確保您的測試可靠且穩健。

等待元素出現

等待元素出現存在於 DOM 中,使用 WebDriverWait 和 EC.presence_of_element_ located()方法:

WebDriverWait(browser, 20).until(EC.presence_of_element_located((By.CSS_SELECTOR, ".reply-button"))).click()
登入後複製

等待元素可見

要等待元素可見且其大小大於 0,請使用 EC.visibility_of_element_ located( ):

email = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "element_css"))).get_attribute("value")
登入後複製

等待元素可點選

要等待元素可見並啟用,請使用EC.element_to_be_clickable():

WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, ".reply-button"))).click()
登入後複製

使用明確等待

在瀏覽器中,這些等待指令將暫停測試的執行,直到滿足指定的條件或發生逾時。明確等待有幾個好處:
  • 它可以防止使用 sleep(),這會使測試不可靠。
  • 它允許更精確的等待標準,提高測試準確性。
  • 即使某個元素花費的時間比預期長,它也能讓測驗繼續進行出現。

參考文獻:

  • [WebDriverWait無法正常運作預期](https://stackoverflow.com/questions/38873537/webdriverwait-not-working-as-expected)
  • [Selenium:檢查元素是否存在](https://www.tutorialspoint . com/selenium/selenium_webdriver_wait_commands.htm)

以上是Selenium 如何有效地等待元素出現、可見且可互動?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板