- 頁面等待
大多數(shù)Web應(yīng)用程序都是使用Ajax和Javascript開發(fā)的。當瀏覽器加載頁面時,我們想要與之交互的元素可能以不同的時間間隔加載。它不僅難以識別元素,而且如果元素未定位,它將拋出“ ElementNotVisibleException ”異常。使用Waits,我們可以解決此問題。

頁面等待
def wait_page():
# 隱式等待
browser = webdriver.Chrome()
browser.get("https://www.zhihu.com/explore")
browser.implicitly_wait(1)
elments = browser.find_element_by_class_name("ExploreFollowButton")
print(elments)
# 顯式等待
browser.get("https://www.taobao.com/")
wait = WebDriverWait(browser,1)
input = wait.until(EC.presence_of_element_located((By.ID,'q')))
button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR,'.btn-search')))
print(input,button)
wait_page()
#等待的條件 | 含義
#title_is | 標題是某內(nèi)容
#title_contains | 標題包含某內(nèi)容
#presence_of_element_located | 節(jié)點加載出來,需要傳入定位元組,如By.ID,'q'
#visibility_of_element_located | 節(jié)點可見,傳入定位元組
#visibility_of | 傳入的節(jié)點對象可見
# element_to_be_clickable | 節(jié)點可被點擊
#staleness_of | 判斷一個節(jié)點是否仍在DOM中,可以判斷頁面是否被刷新
#alert_is_present | 判斷警告框是否彈出