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()
使用明確等待
在瀏覽器中,這些等待指令將暫停測試的執行,直到滿足指定的條件或發生逾時。明確等待有幾個好處:參考文獻:
以上是Selenium 如何有效地等待元素出現、可見且可互動?的詳細內容。更多資訊請關注PHP中文網其他相關文章!