首頁 > 後端開發 > Python教學 > 如何在 Selenium 中可靠地等待元素出現、可見且可點擊?

如何在 Selenium 中可靠地等待元素出現、可見且可點擊?

Linda Hamilton
發布: 2024-12-21 05:19:10
原創
977 人瀏覽過

How to Reliably Wait for Elements to Be Present, Visible, and Clickable in Selenium?

等待元素出現、可見並可與 Selenium 互動

在 Selenium 中,通常需要等到元素出現後再與其互動。使用 sleep() 進行等待是不可靠的,因為元素的出現時間可能會有所不同。相反,您應該利用 WebDriverWait 和預期條件。

等待元素存在

要驗證元素在 DOM 上的存在,請將預期條件設為 Presence_of_element_ located()。這並不要求元素可見。例如:

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

等待元素可見性

要從元素中提取屬性,請使用visibility_of_element_ located()。這可確保元素可見且尺寸不為零。

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

等待元素可點擊性

要點選元素,請將預期條件設為 element_to_be_clickable() 。這會檢查元素是否可見並啟用互動。

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

其他參考

更多見解,請參閱以下資源:

  • [WebDriverWait無法正常運作預期](https://github.com/SeleniumHQ/selenium-google-code-issue-archive/issues/4395)
  • [Selenium:檢查元素是否存在](https://www . guru99.com/verify-element-present-selenium.html)

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

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