首頁 > 後端開發 > Python教學 > 如何在 Python 中有效地暫停 Selenium WebDriver 執行?

如何在 Python 中有效地暫停 Selenium WebDriver 執行?

Barbara Streisand
發布: 2024-12-19 19:01:16
原創
928 人瀏覽過

How to Efficiently Pause Selenium WebDriver Execution in Python?

Selenium WebDriver 中的等待與條件語句

問題: 如何將 Selenium WebDriver 的執行暫停幾毫秒Python?

答案:

雖然 time.sleep() 函數可用於暫停執行指定的秒數,但通常不建議在 Selenium WebDriver 中使用自動化。

使用 Selenium 的WebDriverWait

相反,Selenium 提供了 WebDriverWait 類別以及預期條件來驗證元素的狀態。以下是常見的預期條件:

  1. 定位元素的存在:檢查 DOM 上是否存在元素。
  2. 定位元素的可見性: 檢查元素是否可見且高度和寬度是否大於0.
  3. 可點擊的元素: 檢查元素是否可見、啟用和可互動。

範例:

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome()
wait = WebDriverWait(driver, 10) # Timeout after 10 seconds

# Wait until an element is clickable
element = wait.until(EC.element_to_be_clickable((By.ID, "some_button")))
element.click()
登入後複製

此方法優於time.sleep(),因為它避免了不必要的等待和在繼續之前檢查元素的所需狀態,提高測試效率。

參考文獻:

更多信息,請參閱:

  • WebDriverWait 未按預期工作: https://stackoverflow.com/questions/37372143/webdriverwait-not-working-as-expected

以上是如何在 Python 中有效地暫停 Selenium WebDriver 執行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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