我經常遇到 Selenium 的問題,即腳本崩潰,因為我想訪問尚未加載的元素。
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method": "xpath", "selector":"//*[@id="ipv4_info"]/span[3]"}
目前我是這樣做的,我time.sleep(30)在這些地方之前放了一個,但有時它需要更長或更短的時間才能加載元素。
有沒有辦法等到元素被加載,一旦加載就立即繼續其余的代碼?
uj5u.com熱心網友回復:
要定位您需要為visibility_of_element_located()引入WebDriverWait的元素,您可以使用以下定位器策略:
路徑:
element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//*[@id="ipv4_info"]/span[3]")))CSS_SELECTOR :
element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "#ipv4_info span:nth-child(3)")))注意:您必須添加以下匯入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/402958.html
標籤:
